【问题标题】:Size class for all iPhones but 6+适用于所有 iPhone 的尺寸等级,但 6 岁以上
【发布时间】:2015-08-08 13:42:10
【问题描述】:

我想为横向 (wC/hC) 中的所有 iPhone 和横向主 VC(在拆分视图控制器中)中的 iPhone 6+ 制作一个独特的布局。这可能吗?

基本上它是一个有行的表。每行代表一个模型实例。对于 wC/hC,我想并排显示三个标签,因为有足够的空间来水平布置它们并显示文本数据。我相应地调整他们的内容拥抱优先级以截断最不重要的内容。

现在在 iPhone 6+ 中,我使用拆分视图控制器,并且在所有具有三个标签的 iPhone 中使用的相同 VC 应该只有两个标签,因为它太窄而无法显示所有需要的数据。几个小时以来,我已经为这两个尺寸类别调整了标签和约束 - 没有运气。

wC/hC 中的视图控制器和 wR/wC 中的主视图控制器是否可以有不同的布局?

有趣的是,当我在编辑器中切换到 wR/hC 并且主视图控制器的大小正确时,IB 没有显示第三个标签。

【问题讨论】:

    标签: ios iphone size-classes


    【解决方案1】:

    如果我正确理解了您的意图,则在 6+ 中,第三个标签根本不可见。要做到这一点:

    1. 为 wRwC (6+)size 类卸载标签本身,或者,
    2. 仅为该尺寸等级再次设置宽度(或高度)约束并使用常数 0。

    选择两者之一取决于您想要实现的目标。我通常倾向于避免使用第二个,因为它对我来说是“错误的 / 骇人听闻的”。

    在做出决定时,请记住:

    仍会创建已卸载视图的运行时对象。但是,视图和任何相关约束都不会添加到视图层次结构中,并且视图具有 nil 的超级视图属性。这与隐藏不同。隐藏视图与任何相关约束一样位于视图层次结构中。

    Apple docs

    【讨论】:

    • 我已经完成了第一个选项。在 wRwC 中时第三个标签在 IB 中不可见(我还检查了该尺寸等级的存在复选框),但是在运行应用程序时会显示它/
    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    相关资源
    最近更新 更多