objective-c – 如何为给定的ViewController提供备用nib文件并动态更改它们?

我有一个ViewController控制一个视图,在横向模式下需要一个不同于纵向模式的布局.我制作了两个语义相同但布局不同的.xib文件.我知道在横向模式下有一个hack以模态方式显示第二个ViewController,但我真的宁愿在切换方向时用另一个nib文件重新初始化视图控制器.

我有一半工作.当我在查看相关的(标签栏)视图时转动设备,它会消失(页面,而不是设备!).但是,当我切换到另一个选项卡并返回到相关视图时,它会显示为我想要的内容.

我怎样才能切换笔尖,同时查看我要重新布局的视图,而不是让它消失?

现在我正在-didRotateFromInterfaceOrientation中进行方向感应:并且也在
-viewDidAppear :.我设置self.view = nil并调用initWithNibName:bundle:.这可以以合理的方式工作,还是我必须诉诸模态黑客.

最佳答案 不要忘记视图可以包含子视图,您可以随意隐藏或显示这些子视图.在您的情况下,我将两个方向的布局放在同一个笔尖中,并在获得-didRotate ..消息时切换它们.

点赞