Ios 在3.5英寸屏幕中使用自动布局剪裁的内容

Ios 在3.5英寸屏幕中使用自动布局剪裁的内容,ios,autolayout,Ios,Autolayout,我正在我的项目中使用自动布局。我把违禁品从下往上加。在4英寸的屏幕上,一切正常。但当项目在3.5模拟器上运行时,屏幕会被裁剪。 查看屏幕截图,似乎没有空间容纳所有元素。 一种方法是,使用顶部空间到Superview约束将元素停靠在屏幕顶部,并使用底部空间到Superview约束将元素停靠在底部 执行此操作时,如果没有足够的可用空间,可能会看到一些子视图围绕中间重叠 您可以考虑使用 UISCRelVIEW < /C>作为顶层子视图,并将所有子视图添加到ScLoVIEW中。scrollView的内容

我正在我的项目中使用自动布局。我把违禁品从下往上加。在4英寸的屏幕上,一切正常。但当项目在3.5模拟器上运行时,屏幕会被裁剪。

查看屏幕截图,似乎没有空间容纳所有元素。 一种方法是,使用
顶部空间到Superview
约束将元素停靠在屏幕顶部,并使用
底部空间到Superview
约束将元素停靠在底部

执行此操作时,如果没有足够的可用空间,可能会看到一些子视图围绕中间重叠

您可以考虑使用<代码> UISCRelVIEW < /C>作为顶层子视图,并将所有子视图添加到ScLoVIEW中。scrollView的内容高度将根据您的约束进行计算。


您也可以在调用
viewDidLayoutSubviews
后手动设置contentView高度。

我个人发现,有时我似乎无法让Autolayout完全按照我想要的方式工作。因此,如果屏幕大小为3.5英寸,则值得在viewDidLoad中选中手动移动对象,如下所示:

在我的示例中,我将使用一个按钮:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {

    CGSize result = [[UIScreen mainScreen] bounds].size;

    if (result.height == 480) {
        // 3.5 inch display
        button.frame = CGRectOffset(button.frame, 0, 89.0f);
    }

    if (result.height >= 568) {
        // 4 inch display
        // .....
    }
}

@的确,有时候它并不伟大。