从xib或其他场景添加子视图与故事板

我是iOS和Xcode的新手。 我不知道如何devise一个分离的视图,并使用故事板添加到主UIViewController。

我做了不同的方法..

  1. 只需从xcode的右下angular窗口中抓取一个UI对象,然后将其放到故事板的任何空间区域。 但是我不能像xib一样删除UI对象。
  2. 添加一个新的UIViewController。 将视图添加到UIViewController 。 在主ViewController.m中,我在viewDidLoad中获得新的UIViewController实例,然后[self.view addSubview:newUIViewController.view] 。 但是我看不到增加的观点。
  3. 我创build了一个新的xib文件。 并添加一个视图到它。 我也尝试在主ViewController获取实例。 并用xib的视图添加子视图。 但它也失败了。

有没有正确的方法或任何工作的解决scheme呢?

我想出了办法。 描述如下:

  1. 创build一个.xib文件。 例如:MyView.xib
  2. 创build一个Objective-C类。 例如:MyViewClass.h和MyViewClass.m
  3. 将.xib文件的所有者设置为类。
  4. 在storyboard上添加一个UIView元素,并将自定义类设置为objective-c类名(MyViewClass)。
  5. 关键是要覆盖object-c类中的initWithCoder方法。

     - (id)initWithCoder:(NSCoder *)aDecoder { if ((self = [super initWithCoder:aDecoder])) { [self addSubview:[[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] objectAtIndex:0]]; } return self; } 

这个想法是由故事板加载的自定义类和initWithCode将被调用。 索引0是.xib界面构build器中的根视图。

这有点棘手,但它的作品。

在故事板中,拖放视图控制器。 视图控制器带有主视图。 单击添加的视图控制器的外部,然后单击它的中心select该主视图。 现在,就像在IB上一样,把一个uiview或其他任何东西拖到主视图中。