我有一个 ViewController,它控制一个 View ,该 View 在横向模式下需要与纵向模式下不同的布局。我制作了两个语义相同但布局不同的 .xib 文件。我知道在横向模式下有一个 hack 可以模态显示第二个 ViewController,但我真的宁愿在切换方向时用另一个 nib 文件重新初始化 View Controller 。
我已经完成一半了。当我在查看有问题的(标签栏) View 时转动设备时,它消失了(页面,而不是设备!)。但是当我切换到另一个选项卡并返回到相关 View 时,它会按照我的意愿显示。
如何在查看要重新布局的 View 时切换 Nib 而不让它消失?
现在我正在 -didRotateFromInterfaceOrientation: 和 -viewDidAppear:.我设置 self.view = nil 并调用 initWithNibName:bundle:。这可以以合理的方式工作,还是我必须求助于模态 hack。
最佳答案
不要忘记 View 可以有 subview ,您可以随意隐藏或显示它们。在您的情况下,我会将两个方向的布局放在同一个 Nib 中,并在收到 -didRotate.. 消息时切换它们。
关于objective-c - 我怎样才能为给定的 ViewController 提供备用的 nib 文件并即时更改它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1794037/