繁体   English   中英

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

[英]Add subview from a xib or another scene with storyboard

我是iOS和Xcode的新手。 我无法弄清楚如何设计一个单独的视图,并使用storyboard将其添加到主UIViewController中。

我做了不同的方法..

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

是否有正确的方法或任何可行的解决方案?

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

  1. 创建.xib文件。 例如:MyView.xib
  2. 创建一个objective-c类。 例如:MyViewClass.h和MyViewClass.m
  3. 将.xib文件的所有者设置为该类。
  4. 在故事板上添加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接口构建器中的根视图。

这有点棘手,但它确实有效。

在故事板中,拖放视图控制器。 视图控制器带有主视图。 通过单击添加的视图控制器的外部,然后单击其中心,选择该主视图。 现在,只需将uiview或其他内容拖动到主视图中,就像使用IB一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM