我有两个来自界面生成器的带有 xib 的 UIViewController 类,我想创建另一个带有 xib 的 UIViewController 包含这两个视图,这是可能的,我如何实现这个功能?
问问题
593 次
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 回答