簡體   English   中英

如何動態更改UIVIewController的xib

[英]How to change dynamically the xib of a UIVIewController

我有一個UIVIewController“controller1”。 該控制器使用initWithNibName ...與“file1.xib”進行實例化。 我想動態地將我的“controller1”的xib文件更改為“file2.xib”

恢復 :

“controller1”< - >“file1.xib”,我想動態地擁有:“controler1”< - >“file2.xib”

我怎樣才能做到這一點 ?

希望我很清楚。

如果要在UIViewController中更改視圖,只需使用以下代碼:

NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"file2" owner:self options:nil];
UIView *aView = [nibObjs objectAtIndex:0];
self.view = aView;

我有兩個回應:

1)為什么 - 這不是你通常會做的事情 - 這個案例的特殊之處是什么? 事實上,我要編輯它更加強調 - > 不要做它 < - UIViewController中會有你不了解的各種依賴(例如,如果內存不足)警告和你的視圖控制器卸載它的視圖,哪個xib會從必須再次顯示它時加載視圖?)

2) 如果你迫切需要,你可以刪除視圖並重新加載它雖然NSBundle的loadNibNamed:owner:傳入新的xib和self作為所有者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM