今天用在利用xib实例化view 时, 生成的view的自动布局总是用问题。具体来说,宽和高都不能和父view正确变化。仔细检查,发现下图:
注意这里右上角的Autoresizing部分,并没有设置正确,正确的设置是,全部选中:
在使用xib时,如果使用了以下代码:
- (void)awakeFromNib{
[super awakeFromNib]; UINib *leftBrandView = [UINib nibWithNibName:@"HomeLeftBrandView" bundle:[NSBundle mainBundle]]; UIView *contentView = (UIView *)[leftBrandView instantiateWithOwner:self options:kNilOptions].firstObject;
contentView.frame = self.bounds;
[self addSubview:contentView];
}
这句 contentView.frame = self.bouds 执行时,虽然frame的大小不一定正确,但是由于我们上面的缩放设置,这个contentView,是可以根据父view自动缩放的,达到了类似constraint的效果。