根据iOS中的设备高度定位视图

我正在切换到autolayout,我想相对于设备的高度定位视图.我应该如何设置约束以满足这种条件.

我有适合iPhone 5的布局,但对于iPhone 6Plus,我想将“红色”移动到“灰色”的位置:

 

我目前所有的限制:

最佳答案 一个想法可能是将用户名,密码和登录项放在带有clearBackground的uiView上,然后为该视图及其超级视图创建约束并为其创建一个出口.然后,您可以检测代码中使用的手机,并在willLayoutSubviews中以编程方式修改约束.

if ((int)[[UIScreen mainScreen] bounds].size.height == 736)
{
    // This is iPhone 6+ screen
    myConstraint.constant = 150;

} else if ((int)[[UIScreen mainScreen] bounds].size.height == 568) {
    // This is iPhone 5s screen
    frameRateLabelHeightConstraint.constant = 100;
}

毫无疑问,在Autolayout中有更好的方法可以做到这一点,但我觉得它有点令人困惑所以我过去曾使用过这种方法.

点赞