【问题标题】:General approach for bottom layout guide and different screen formats底部布局指南和不同屏幕格式的一般方法
【发布时间】:2020-03-10 17:06:46
【问题描述】:

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

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

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

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

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

鉴于这些,是否有人知道任何技术来概括/简化第二点?如果发现必须为几乎每个视图控制器添加设备相关检查真的很难看。

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

TLDR; 是否可以让视图“拉伸”到 iphoneX 中的非安全区域?要获得与 NavigationBar 基本相同的行为,但对于屏幕底部,而不进行任何硬编码?

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

【问题讨论】:

    标签: ios constraints safearealayoutguide


    【解决方案1】:

    我通常这样做的方式:

    • 像您发布的那样设置底部约束
    • 设置相对于底部安全区域(而不是超级视图)的顶部约束,并带有您希望视图高度的偏移量。

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

    【讨论】:

    • 我怎么没想到!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多