如何在Interface Builder中为3.5"和4"Retina定位视图?

jow*_*wie 8 xcode alignment interface-builder ios autolayout

我想定位一个UIView,使它出现在3.5英寸和4英寸Retina屏幕的中央.做这个的最好方式是什么?如果我关闭所有自动调整条,我希望它与屏幕中心对齐,但这似乎不会发生.

我很高兴使用新的Autolayout,但我不知道如何让它做到这一点.

jak*_*eld 21

按照以下步骤操作XIB,您应该正确调整视图大小:

  1. 为了实现无缝的iOS4兼容性,首先将顶视图尺寸设置为Retina 3.5尺寸.

  2. 删除顶视图的size参数并将其设置为"none".您现在应该具有正确大小的主视图,但没有固定的设置大小选项.

  3. 在"尺寸检查器"选项卡下,为顶视图垂直打开所有自动调整大小.

  4. 对于每个子视图,请执行以下操作

    • 选择视图并转到"大小检查器"选项卡
    • 选择排列(垂直居中或对齐)
    • 如果要将其居中,请在"自动调整大小"框中删除两个对齐标记.如果您希望它"粘性",则选择其中一个,如果您希望它填充父级,则选择它们.
    • 通过突出显示或取消突出显示垂直"双向箭头",选择是否应相对调整大小
    • 此时确保所有元素都位于3.5英寸视图中的预定位置 - 这对于在iOS4上工作至关重要.
  5. 保存更改.通过选择顶视图并选择尺寸来检查您是否成功进行了自动调整:"Retina 4 Full Screen".执行此操作时,您的视图应该看起来像您的预期结果.

  6. 撤消5中的更改(以便xib中的视图再次具有3.5大小,但将"大小"选项设置为"无",保存并运行您的应用程序.

这也适用于iOS4,因为视图的大小已经适用于Retina 3.5,因此不会对较旧的屏幕尺寸使用自动调整大小.

在某些情况下,不可能为所有元素获得完全正确的尺寸/定位.在这些情况下,您需要以编程方式更改4"屏幕大小的视图大小位置.