objective-c - 我怎样才能为给定的 ViewController 提供备用的 nib 文件并即时更改它们?

标签 objective-c iphone cocoa-touch uiviewcontroller

我有一个 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/

相关文章:

iphone - 从 Objective C 的静态方法调用非静态方法

Objective-C 保留计数澄清

iphone - 在输入过程中移动文本字段

cocoa - 创建 Cocoapod 库和 [UIImage imageNamed :] returns NULL

ios - 调试 IBDesignable - 调试选定的 View 不工作

ios - 定位以编程方式创建的 UIButton

ios - iPhone 应用程序 : Launch My App on My Website and Tips

iphone - UIPinchGestureRecognizer 的触摸位置

iPhone - 通过 HTTP 接收的图像的 JPEG 数据损坏

iphone - `UITableViewCellAccessoryCheckmark` 是图像吗?