【问题标题】:Handling Device Rotation Displays处理设备旋转显示
【发布时间】:2013-01-16 16:53:54
【问题描述】:

我有一个相当复杂的 IOS 应用程序,其中包含跨越 20 多个不同视图控制器的图标、表格、文本字段等。我以纵向模式构建了整个应用程序,并且当然意识到在横向模式下事情看起来很奇怪。

对于非常简单的屏幕,我在使用自动布局的约束来适应任何方向变化时遇到了一些问题。但是,当屏幕上有多个 (5+) 项目时,我发现使用约束来管理所有内容非常困难。事实上,有些视图看起来需要将整个布局转换才能很好地流动。

有没有更好的替代约束?我唯一的另一个想法是制作重复的视图,一个用于纵向,一个用于横向。然后我可以打开 deviceOrientationChange 监听器。

【问题讨论】:

  • Autolayout 约束比 springs & struts (pre iOS 6.0) 好很多。

标签: iphone objective-c xcode layout constraints


【解决方案1】:

您始终可以通过选择 xib/storyboard 文件并取消选中 Use Autolayout 来关闭约束。仅对更复杂的视图执行此操作,我认为拆分为单独的 xib 是可行的。

此外,有时风景确实需要完全重新排列视图(甚至添加/隐藏某些元素)。您不应该回避为此定义单独的视图,无论有没有 xib 文档。

【讨论】:

  • 如果我要在两个视图控制器(纵向和横向)之间转换,我应该在转换时在它们之间进行切换,还是有办法设置诸如 self.view = Viewcontroller_Vertical 之类的东西?
  • 没错。您也可以在界面方向更改的回调中执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多