【问题标题】:How to design a UIview which will work for both Landscape and Portrait modes?如何设计适用于横向和纵向模式的 UIview?
【发布时间】:2012-11-03 17:46:21
【问题描述】:

我已经为我的应用程序开发了纵向模式的所有视图,现在我们计划让用户灵活地在纵向和横向模式之间进行切换,我已经阅读了一些与此相关的文档,其中他们提供了调整控件位置的选项(X,Y) 在 xib 中基于方向,但在某些情况下还不够,我需要创建一个新列,因为在这种情况下横向与纵向相比具有更大的宽度,我需要创建新视图吗?或者有什么办法处理吗?

谢谢,

【问题讨论】:

    标签: iphone ios cocoa-touch uiview xib


    【解决方案1】:

    这个问题非常开放。这实际上取决于您选择的设计以及您要完成的工作。对于某些视图,只需正确设置 UIViewAutoresizingMask 即可轻松重用它们。这将拉伸或收缩它,或者在调整其父级大小时坚持边距。您还可以覆盖 layoutSubviews 以更好地控制视图的子视图在更改大小时将执行的操作。另一种设计是更上一层楼并使用两个不同的 ViewController:一个用于具有完全不同视图的每个方向。当设备旋转时,控制器会以某种奇特的过渡方式交换它们的视图。所以你看到你有多种选择。

    【讨论】:

    • 那么,Darren,添加新列是您最后的选择,对吧?
    • 是的,我认为两个具有两个视图的视图控制器将是实现这一点的好方法。
    【解决方案2】:

    我认为对于简单的设计,您可以使用 uiautoresizingmask 来使用方向方法来更改控件的框架

    【讨论】:

      猜你喜欢
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 2013-04-01
      相关资源
      最近更新 更多