【问题标题】:Draw SubView in Storyboard在情节提要中绘制子视图
【发布时间】:2012-08-19 02:07:49
【问题描述】:
我想展示我在 Storyboard 中绘制的 modalView(它可以是 viewController)。我不想以编程方式完成整个事情。有没有办法做到这一点而不是全屏视图?
我想问这个问题的另一种方式是:我如何[self.view addSubView:mySubView] mySubView 在InterFaceBuilder/Storyboard 中绘制?
【问题讨论】:
标签:
iphone
uiview
storyboard
【解决方案1】:
要正确执行此操作,您应该查看文档中的 View Controller 包含。基本上,在从情节提要中实例化 viewController 之后,您会 addChildViewController,然后将 viewController 的视图添加到您当前的视图层次结构中。
但是,为了让它正常工作,以下内容将助您一臂之力:
UIViewController *childViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"<identifier you set in Interface Builder>"];
[self.view addSubView:childViewController.view];
请注意,“正确”执行此操作的原因之一是确保将自动旋转和演示回调发送到子视图控制器。
【解决方案2】:
重写 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;
}