Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 底部布局指南和不同屏幕格式的一般方法_Ios_Constraints_Safearealayoutguide - Fatal编程技术网

Ios 底部布局指南和不同屏幕格式的一般方法

Ios 底部布局指南和不同屏幕格式的一般方法,ios,constraints,safearealayoutguide,Ios,Constraints,Safearealayoutguide,到目前为止,我开发的大多数(如果不是全部的话)屏幕在底部布局指南中有两种行为: 内容是静态的,需要锚定在底部: 在这种情况下,我通常会创建一个底部布局指南,从底部est vc子视图到它的superview(vc根视图,代替vc底部安全区域)。如果iphoneX边缘的底部对齐视图和根/父视图的背景颜色相同,则这两种情况都适用 内容可滚动或必须“溢出”,或底部子视图和vc的背景颜色不同。例如,底部按钮或选项卡必须与安全区域对齐,但它们的背景必须在iPhoneX中“继续”到非安全区域 在这种情况下,

到目前为止,我开发的大多数(如果不是全部的话)屏幕在底部布局指南中有两种行为:

  • 内容是静态的,需要锚定在底部:

    在这种情况下,我通常会创建一个底部布局指南,从底部est vc子视图到它的superview(vc根视图,代替vc底部安全区域)。如果iphoneX边缘的底部对齐视图和根/父视图的背景颜色相同,则这两种情况都适用

  • 内容可滚动或必须“溢出”,或底部子视图和vc的背景颜色不同。例如,底部按钮或选项卡必须与安全区域对齐,但它们的背景必须在iPhoneX中“继续”到非安全区域

    在这种情况下,我要么在与不安全区域相匹配的视图中添加边缘插入/边距(导致正常方形屏幕的额外边距),要么必须根据设备类型调整约束

  • 有鉴于此,有人知道有什么方法可以概括/简化第二点吗?如果您发现必须为几乎每个视图控制器添加依赖于设备的检查,这真的很难看

    这在技术上已经在“自动调整视图控制器边缘插入”中发生,但仅适用于滚动视图/表格视图

    TLDR是否可以让视图“延伸”到iphoneX中的非安全区域?要获得与导航栏基本相同的行为,但屏幕底部没有硬编码


    另外:如果可以概括,也可以包括第一个想要的带有标志或类似标志的行为。

    我通常这样做的方式:

    • 设置底部约束,就像您发布的一样
    • 设置相对于底部安全区域(而不是超级视图)的顶部约束,并为视图的高度设置偏移

    这样,如果存在安全区域,视图将自然向下延伸,并在非安全区域手机上保持其正常外观,您只需确保布局视图的内容,使其位于安全区域和顶部之间。不需要特定于设备的代码。

    我怎么没有想到这一点!非常感谢。