例如:
- 使用 initWithNibName 创建一个新的 UIVC,使用“nib-v1”
- 显示它,例如使用 [(UINavigationController) nav pushViewController: myVC]
- 将 myVC 使用的 NIB 更改为“nib-v2”
据我所知,这是许多应用程序的“正确”应用程序设计方法,在分页信息时,您需要两个稍微不同的 UI 屏幕来显示信息。
例如,您的大多数页面都是文本,但其中一些也有图像(想想 RSS 阅读器,其中一些 RSS 条目有文本 + 图像,一些只有文本)。
我之前处理过这个问题,方法是让一个 NIB 文件带有第二个不可见的命名 UIView 实例,我在第一个实例的顶部分层,并根据上下文使用“隐藏”标志打开/关闭。
但这显然是错误的,并且浪费了内存。
但是,我看不到从 NIB 文件“重新加载”视图的明显方法。我猜我想以某种方式重现 initWithNibName 的魔力?
我怀疑这是可能的,但我敢肯定,如果你以“错误的方式”进行操作,那么应用程序将会严重崩溃。