在iPad上为两个UIViewController创建容器视图

时间:2013-09-20 14:29:30

标签: ios objective-c uiviewcontroller interface-builder

我有两个带有来自界面构建器的xib的UIViewController类,我想创建另一个带有xib的UIViewController,它包含这两个视图,它是否可能以及如何实现此功能?

2 个答案:

答案 0 :(得分:0)

在第三个UIViewController xib中添加两个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];
}

使用第一个和第二个ViewController的@property以及延迟加载来改进它。

答案 1 :(得分:0)

您无法添加View控制器A和B的视图来查看XIB中的控制器C,因为您需要设置相当多的内务代码来设置父/子视图控制器关系。

但是,如果您要使用故事板,并且您在iOS 6或更高版本中运行,那么这将是微不足道的。在iOS 6中有一个新的“容器”视图。您只需在场景中添加一个容器视图,然后从容器视图控制拖动到另一个视图控制器的场景,并且IB设置一个嵌入式segue,它可以完成所有内容管理。您。在我看来,仅此功能就足以证明移动到故事板是正确的。