2

たとえば、UIVIewController"controller1"があります。このコントローラーは、「file1.xib」を使用してinitWithNibName...でインスタンス化されます。「controller1」のxibファイルを「file2.xib」に動的に変更したい

再開します :

"controller1" <-> "file1.xib"と動的に欲しい: "controler1" <-> "file2.xib"

これどうやってするの ?

私がはっきりしていたことを願っています。

4

2 に答える 2

8

UIViewControllerのビューを変更する場合は、次のコードを使用してください。

NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"file2" owner:self options:nil];
UIView *aView = [nibObjs objectAtIndex:0];
self.view = aView;
于 2010-12-21T11:45:33.753 に答える
1

私は2つの応答があります:

1)なぜ-これはあなたが通常行うことではない-このケースを特別なものにしているのは何ですか?実際、これをより強調するように編集します->しないでください< -UIViewControllerには、知らないあらゆる種類の依存関係があります(たとえば、メモリが不足している場合)警告が表示され、View Controllerがビューをアンロードします。ビューを再度表示する必要があるときに、どのxibからビューをロードしますか?)

2)どうしても必要な場合は、ビューを削除して、NSBundleのloadNibNamed:owner:新しいxibとselfを所有者として渡すことで再読み込みできます。

于 2010-12-21T11:45:13.703 に答える