2016-08-20 37 views
0

如果我在XIB中创建一个视图,在一个视图控制器中以编程方式实例化它,然后显示它,视图保持与它在XIB中的大小相同。如果我尝试提供自动布局约束来纠正此问题,它通常会与由布局系统设置的UIView-Encapsulated-Layout-Height约束冲突。如何防止视图的高度由其XIB设置?

我该如何摆脱来自XIB的高度限制?

回答

0

您只需将translatesAutoresizingMaskIntoConstraints属性设置为NO即可。这告诉布局系统不要自动从你在XIB中设置的值中创建任何约束,就像你的视图的自由高度一样。只有在Interface Builder中明确规定的约束才会在运行时创建。

例如:

NSArray<UIView *> *views = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([MyCustomView class]) owner:self options:nil]; 

MyCustomView *view = (MyCustomView *)views.firstObject; 
view.translatesAutoresizingMaskIntoConstraints = NO; 
相关问题