0

ビュー コントローラーの xib ファイルにいくつかの UIView があります - 1、2、3。

ビュー 1 は、View Controller のメイン ビューです。

ビュー 2 と 3 (メインのビュー 1 の外側にある xib 内) は、ビュー コントローラーのプロパティでもあります。このため、それらを初期化する必要はありません。コードでメイン ビューに追加するだけです。

私の質問は: ビュー 2 と 3 をリロードできますか。たとえば、ビュー 2 のラベルとビュー フレームを変更した後、ビューをリロードして元のレイアウトをすべて復元できますか

4

1 に答える 1

1

次のようなものを使用できます。

NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"MainViewController" owner:self options:nil];
UIView *mainViewControllerSuperView = [nibArray objectAtIndex:0];
NSArray *superViewsArray = [mainViewControllerSuperView subviews];
UIView *secondView = [superViewsArray objectAtIndex:1]; // index of view you need

self.mainViewController.secondView = secondView;

または単一行:

self.mainViewController.view = [[(UIView *)[[[NSBundle mainBundle] loadNibNamed:@"MainViewController" owner:self options:nil] lastObject] subviews] objectAtIndex:1];
于 2013-08-29T14:32:16.163 に答える