【问题标题】:How to layout elements in UIView set to landscape mode如何将 UIView 中的元素布局设置为横向模式
【发布时间】:2014-08-14 23:02:05
【问题描述】:

我正在开发一个只有横向布局的 iOS 应用。

在 Storyboard 中布置元素时,我在横向模式下唯一的 UIViewController 的“模拟指标”中设置了方向。

例如,我的“故事板”中有这个UIViewController/UIView

`

但是,当我在手机上运行应用程序时,分段控制器永远不会处于正确的位置。如果我添加几个约束:

分段控件以各种方式变形,但它们从未像在情节提要编辑器中那样出现。

有什么帮助吗?

这就是它的外观。


删除分段控件后,我添加了一个新控件并使用“重置为建议的硬币约束”。分段控件在设置为横向的 UIViewController 中以纵向模式显示 - 如状态栏所示。为什么?

【问题讨论】:

    标签: ios uiview uiviewcontroller uistoryboard


    【解决方案1】:

    我认为我们大多数人都对自动布局有一种爱恨交织的关系。查看您的屏幕截图,看起来有一堆相互冲突的约束在起作用。

    您可能会尝试的一件事是“解决自动布局约束”选项(在情节提要的分段控制器上...;)。 (这假设 xcode 5)。

    当我对布局约束感到困惑时,我喜欢从清除约束开始。然后,我也会尝试“重置为建议的约束”。这让 xcode 自动为您计算一些约束。它不是 100% 完美的,但通常会让你接近。

    【讨论】:

    • 为什么约束冲突?
    • 这只是一个猜测,但也许您设置了一些约束,然后重新定位分段控件而不更新约束。失真可能来自遵循约束 w,x,y,z 的自动布局,但随后调整控件的大小以保持 w,x,y,z。解决方案是删除所有约束并添加达到所需位置所需的最小值。 (从技术上讲,为了在图表中实现定位,您只需要两个约束,而不是 4 个。)
    • 我听从了你的建议,只保留了两个约束。然而,这种观点仍然是错误的。我添加了一张在 iPhone 上显示最终结果的图片。
    • 尝试清除这两个约束,然后使用“重置为建议的约束”。 (我可以在干净的项目中做到这一点而不会发生任何事故。)
    • 关于约束的最后一条建议。不要害怕炸毁它们并根据需要重新设置它们。一旦你做了足够多的时间,你就会更好地了解自动布局约束是如何工作的。 :)
    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 2014-01-17
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多