使用自动布局时的xib在添加为子视图时不显示

时间:2015-08-07 16:45:05

标签: ios uiview autolayout constraints xib

我使用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元素和约束创建)进行编码?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

问题在于这一行:

[A.view setFrame:CGRectMake(0,0, self.view.size.width, self.view.size.height/2)];

相反,请提供此视图约束

当您将一组使用autolayout的视图插入到使用autolayout的一组视图中时,必须使用autolayout来定位它。