在我的应用程序中,大多数视图在用于小型设备(例如iPhone纵向)和大型设备(例如iPad全屏)上时都存在主要的UI设计差异。基本架构保持不变,但每个View Controller需要显示一组非常不同的UI元素。如何根据iOS 9中尺寸等级的变化来交换视图控制器?
我可以通过根据大小类安装和卸载元素和自动布局约束来响应Interface Builder中的大小更改,但这样会非常笨重和易碎。
在你们古时(2014年),苹果公司的建议是:
如果你想提出不同的基于设备是否处于纵向或横向相同的数据,这样做的方法是使用两个独立的视图控制器一个视图控制器应该管理主要方向(通常是纵向)中的数据显示,而另一个视图控制器管理以替代方向显示数据。
尽管尺寸等级的出现,这给我的印象仍然是我的特殊设计的最佳解决方案(记住采取规模类和拆分视图,幻灯片式的责任。)
问题1:在什么点我的应用程序应该检测到特征的变化?
问题2 :(假设我已经从故事板加载了一个备用视图控制器)来响应特性变化,我应该如何最佳地转换/呈现备用视图控制器?
我问同样的问题在这里问:Adaptive swapping of View Controllers in response to Size Class Trait changes iOS 9
因为没有人回答了原来的问题。
感谢您的回答亚伦。我忘了提一件事。我对iPad的看法与iPhone上的相同观点不共享任何常见的UI元素。它是一个完全不同的观点。 – user3158704
在这种情况下,听起来像统一的故事板不起作用。但它也听起来像它可能是一个令人困惑的应用程序:) –