2014-11-05 77 views
0

我有一个ViewController,我想动态加载不同UIView基于UISegmentedControl。我在厦门国际银行文件设计3 UIViews。我在Identify Inspector中将他们的文件所有者的Custtom类设置为我的视图控制器名称。在通过IBOutlet将我的xib连接到视图控制器代码后,我通过viewDidLoad方法中的“addSubview(view)”方法添加了连接的视图。但是当我运行它时,编译器告诉我连接的视图是null我可以通过IBOutlet将xib文件绑定到视图控制器吗?

+0

需要更多信息。你的意思是说你创建了三个xib文件,每个文件都包含一个视图,或者你创建了一个包含三个视图的xib文件? – 2014-11-05 02:19:01

+0

前一个。 – tounaobun 2014-11-05 02:26:28

回答

1

而不是制作三个不同的xib文件。制作一个包含所有三个视图的xib文件,再加上第四个“默认”视图。每个视图应连接到班级中的其他IBOutlet。

然后在您的viewDidLoad找出您想要显示哪个视图,并将其addSubview它默认视图。 enter image description here

+0

不工作......它只是说可选的视图是零。而如果使用UINib来加载它,它的工作原理。 lazy var view1:UIView! = UINib(nibName:“CreatureConciergeTab”,bundle:nil).instantiateWithOwner(self,options:nil)[0] as? UIView – tounaobun 2014-11-05 02:38:05

+0

您的“默认”视图必须附加到视图控制器'view' IBOutlet。 – 2014-11-05 02:39:01

+0

谢谢......问题解决了。 – tounaobun 2014-11-05 02:46:36

相关问题