我使用xib创建了UIViewController
A ,以便查看可重用性。
在xib中我只是添加了另一个红色视图,并将其约束设置为top,leading,trailing和bottom space到red view的superview(这是我的A&#39的视图)。 p>
将 A 添加到另一个UIViewController
B 作为 B ' ChildViewController
:
// UIViewControllerB.m
UIViewControllerA *A = [UIViewControllerA alloc] initWithNibName:@"UIViewControllerA" bundle: nil]];
[A.view setFrame:CGRectMake(0,0, self.view.size.width, self.view.size.height/2)];
[self addChildViewController:A];
[self.view addSubview:A.view];
[self.A didMoveToParentViewController:self];
没有任何红色或其他任何东西出现。
我确实试过了[self.A.view setTranslatesAutoresizingMaskIntoConstraints:NO];
这似乎使我的约束无用,实际上并没有提出红色视图。
当我使用xib并需要一些额外的自动布局视图时,是否必须对整个事物(UI元素和约束创建)进行编码?
感谢您的任何建议!
答案 0 :(得分:0)
问题在于这一行:
[A.view setFrame:CGRectMake(0,0, self.view.size.width, self.view.size.height/2)];
相反,请提供此视图约束。
当您将一组使用autolayout的视图插入到使用autolayout的一组视图中时,必须使用autolayout来定位它。