视图控制器的自适应交换以响应Size Class Trait更改iOS 9

(我已经阅读了关于这个主题的其他答案,但它们指的是较旧的技术和实践。)

我还读过: https : //developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/TheAdaptiveModel.html

我有一个iOS应用程序,有3个页面(每个标签1个)。 故事板架构如下:

TabBarController -> Navigation Controller 1 -> View Controller 1 -> Navigation Controller 2 -> View Controller 2 -> Navigation Controller 3 -> View Controller 3 

该应用程序在小型设备(例如iPhone肖像)和大型设备(例如iPad全屏幕)上使用时具有主要的UI设计差异。基本架构保持不变,但每个视图控制器需要显示一组非常不同的UI元素。

我可以通过根据大小类安装和卸载元素和自动布局约束来响应Interface Builder中的大小更改,但这将非常笨拙和脆弱。

在过去的日子里(〜2014年),Apple的建议是:

如果要根据设备是纵向还是横向显示不同的数据,则执行此操作的方法是使用两个单独的视图控制器。 一个视图控制器应管理主要方向(通常是纵向)的数据显示,而另一个视图控制器管理备用方向的数据显示。

尽管Size Classes出现了,但这仍然是我特定设计的最佳解决方案(记住要考虑大小类和拆分视图,滑入帐户。)

问题1 :我的应用程序应该在什么时候检测到特征变化?

问题2 :(假设我已经从故事板加载了备用视图控制器)以响应特征变化,我应该如何最好地转换/呈现备用视图控制器?