【问题标题】:How can I create a view to add to a view controller?如何创建视图以添加到视图控制器?
【发布时间】:2012-09-04 15:29:38
【问题描述】:
我正在使用 UAModalPanel 创建弹出框控制器效果。我可以显示弹出框,但我正在努力弄清楚如何创建视图(以图形方式,在情节提要中),在代码中实例化该视图,并将其添加到 UAModalPanel。
我的尝试
- 在情节提要中创建了一个 UIViewController,将其类设置为自定义类,在代码中实例化该类,获取它的视图并尝试将其添加到当前“场景”。
就是这样。当然有一种方法可以让我在故事板中创建一个视图,让它成为 UIView 的子类,然后我可以在需要使用它的代码中获取它?而不是在代码中进行布局?
【问题讨论】:
标签:
ios
xcode
uiview
uiviewcontroller
storyboard
【解决方案1】:
在情节提要中,您需要拖放一个新的UIViewController,然后在此处给它一个标识符:
然后在代码中,您可以使用以下内容获取此视图控制器的视图属性:
UIViewController *myController = [self.storyboard instantiateViewControllerWithIdentifier:@"myIDfromTheLastStep"];
现在您可以获取控制器视图属性并进行调整。这是一个框架变化的例子
[myController.view setFrame:CGRectMake(0, 0, 320, 320)];
【解决方案2】:
除非您需要 segues,否则最好创建一个独立的 XIB
根据需要布局视图,将其 Class 设置为您自己的 (MyCustomView),然后像这样实例化
NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
MyCustomView *view = (MyCustomView*)[nib objectAtIndex:0];
只要您的视图是 XIB 中的第一个/唯一对象,它就会为您实例化该视图