0

i have two UIViewController class with xib from interface builder, and i want create another UIViewController with xib that contains this two view, it's possible and how i can achieve this feature?

4

2 に答える 2

0

親/子ビュー コントローラーの関係を設定するために実行する必要があるかなりの量のハウスキーピング コードがあるため、ビュー コントローラー A および B のビューを XIB のビュー コントローラー C に追加することはできません。

ただし、ストーリーボードを使用し、iOS 6 以降で実行している場合、これは簡単なことです。iOS 6 には新しい「コンテナー」ビューがあります。コンテナー ビューをシーンに追加し、コンテナー ビューから別のビュー コントローラーのシーンにコントロールを押しながらドラッグすると、IB がすべてのハウスキーピングを行う埋め込みセグエをセットアップします。あなた。私の見解では、ストーリーボードへの移行を正当化するには、この機能だけで十分です。

于 2013-09-20T14:41:56.740 に答える
0

3 番目の UIViewController xib に 2 つの UIView を追加し、これらの UIView を IBoulet にリンクします。

@property (nonatomic, weak) IBOutlet UIView *firstView;
@property (nonatomic, weak) IBOutlet UIView *secondView;

その後、たとえば、viewDidLoad のこれらのサブビューに UIViewController を追加します。

- (void)viewDidLoad
{
    [super viewDidLoad];

    MyFirstViewController *myFirstViewController = [[MyFirstViewController alloc] initWitNibName:@"MyFirstViewController"];
    MySecondViewController *mySecondViewController = [[MySecondViewController alloc] initWitNibName:@"MySecondViewController"];

    [self.firstView addSubview:myFirstViewController.view];
    [self.secondView addSubview:mySecondViewController.view];
}

First、Second ViewController の @property と Lazy loading で改善。

于 2013-09-20T14:33:42.983 に答える