【发布时间】:2013-05-22 02:43:48
【问题描述】:
在我的应用中我想实现这个布局:
所以父视图包含两个子视图。第一个恰好在中间(高度/ 2)结束,第二个在父视图的中间开始。我发现在有限制的 IB 中是不可能做到这一点的。所以我在viewDidLoad方法中使用了这段代码:
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:firstView
attribute:NSLayoutAttributeHeight
relatedBy:0
toItem:self.view
attribute:NSLayoutAttributeHeight
multiplier:0.5
constant:0];
[self.view addConstraint:constraint];
现在它可以工作,但前提是应用程序在 iPhone 上运行。因为视图的大小就像 iPhone 屏幕。如果此应用程序在 iPad 上运行,则会出现问题,因为屏幕大小不同,因此此父视图较长。并且约束(上面的代码)仍然需要 0.5 * 来自 IB 的视图大小,而不是来自 iPad 视图大小的大小。项目 toItem:self.view 仍然从 IB 获取大小。
结果是此视图在 iPad 中的大小与在 iPhone 中的大小相同。在 iPad 中有一个很大的空白区域,然后有一个 iPhone 大小的视图。
您能告诉我必须做什么才能使其适用于各种屏幕尺寸吗?非常感谢
【问题讨论】:
标签: ios layout view constraints