0

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

4

2 回答 2

0

您不能将视图控制器 A 和 B 的视图添加到 XIB 中的视图控制器 C,因为您需要执行大量内务代码来设置父/子视图控制器关系。

但是,如果您要使用情节提要,并且您在 iOS 6 或更高版本中运行,这将是微不足道的。iOS 6 中有一个新的“容器”视图。您只需将一个容器视图添加到您的场景中,然后从容器视图中按住 control 拖动到另一个视图控制器的场景中,IB 会设置一个嵌入 segue 来完成所有的内务管理你。在我看来,仅此功能就足以证明转向情节提要是合理的。

于 2013-09-20T14:41:56.740 回答
0

您在第三个 UIViewController xib 中添加两个 UIView,并将这些 UIView 与 IBOulet 链接。

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

之后,您将 UIViewController 添加到 viewDidLoad 的这些子视图中,例如:

- (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 和延迟加载来改进它。

于 2013-09-20T14:33:42.983 回答