1

我正在尝试将 NIB 文件中的视图初始化到 Storyboard 上的视图控制器上。

这是我所做的:

  1. 将视图控制器拖到情节提要上,放置 UIView obj 作为占位符视图,并将其类更改为我的名为“CustomControl”的自定义视图类。

  2. 接下来,我从 NIB 文件设置 CustomControl 类,连接其子视图的出口等等。

我的问题是如何将这个 CustomControl 视图从 nib 加载到我的视图控制器上的占位符视图?我想用 nib 文件单独执行此操作的原因是因为我可能想将此控件(自定义 UIView 类)与其他项目重用,而且我认为如果我可以在视图控制器和视图控制器之间设置视图约束会更容易占位符视图,无需过多担心控件对视图控制器的约束。

提前致谢!

4

2 回答 2

0

把它从情节提要中去掉。

与其拥有占位符,不如一无所有。当另一个控制器想要加载这个视图控制器时,它可以使用[[MyViewController alloc] init][[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]。创建视图控制器后,它可以将其推送到导航控制器上,将其分配给选项卡,或者将其作为呈现的视图控制器弹出。

你失去了做segues的能力,但你实际上并不需要它们。

于 2013-06-14T03:11:28.227 回答
0

有一个包装视图控制器。

不要将非故事板视图控制器放置在故事板中,而是将包装器视图控制器放置在故事板中。

包装视图控制器实例化非故事板视图控制器。然后包装器将非故事板添加为子视图控制器 ( -addChildViewController:)。最后,包装器的视图将非故事板的视图添加为子视图。

- (void)viewDidLoad
{
    …
    MyViewController *child = [[MyViewController alloc] init];
    [self addChildViewController:child];
    [self.view addSubview:child.view];
    …
}
于 2013-06-14T03:23:15.797 回答