我有一个autolayout xib,在我的应用程序中添加了约束。 然后我将我的xib视图添加到scrollView侧面,就像pageController一样。
但是当我将它添加到scrollView时,我遇到了很多带有约束的错误,并且插座没有正确显示。 " [LayoutConstraints]无法同时满足约束。"
这是我的xib类代码:
@implementation InvitView
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
nibname=@"Invit";
[self addSubview:
[[[NSBundle mainBundle] loadNibNamed:nibname owner:self options:nil] objectAtIndex:0]];
}
return self;
}
@end
我使用以下代码将我的xib添加到scrollView:
- (void)viewDidLoad {
[super viewDidLoad];
float width = self.scroll.frame.size.width;
float height = self.scroll.frame.size.height;
int count = 0;
InvitView *myView = [[InvitView alloc] initWithFrame:CGRectMake(self.scroll.frame.origin.x, self.scroll.frame.origin.y, self.scroll.frame.size.width, self.scroll.frame.size.height)];
[myView setFrame:CGRectMake(width*count++, 0, width, height)];
[myView setNeedsUpdateConstraints];
[self.scroll addSubview:myView];
}
我尝试设置translatesAutoresizingMaskIntoConstraints = NO;但是使用这段代码我失去了所有约束,我想保留它然后添加到scrollView。
如何在xib中保留初始约束?
修改
一方面,我在viewwController中对我的UIScrollView有这个约束:
另一方面,我在我的xib中有这个: