最近我对UIViews有些困惑,我一直在使用它们,直到这一点,他们只是拒绝遵守!在初始化期间将IBOutlet UIView添加到数组中
我有一个UIViewController,它包含5个不同的视图。我创建IBOutlets对于这些意见,我想在运行时交换它们:
IBOutlet UIView *view1;
IBOutlet UIView *view2;
IBOutlet UIView *view3;
IBOutlet UIView *view4;
IBOutlet UIView *view5;
为了使它们更容易维护,我决定让他们所有的数组,称为viewArray内。现在我试图将视图添加到数组中,如下所示:
viewArray = [NSArray arrayWithObjects:view1, view2, view3, view4, nil];
这是在我的UIViewController类的init函数中调用的。我已将所有IBOutlet链接到它们在xib/interface文件中的相关视图,但它们似乎未被初始化。在进一步调试之后,它看起来像视图在初始化函数被调用之后才被初始化?
那么我该如何创建这些对象的数组?在显示视图之前,我需要选择相关视图,因此viewDidLoad不是一个选项。
我知道,你可以抓住事物的标签和隐式使用它们设置:
imageExample = (UIImageView *)[self.view viewWithTag:100];
但仅凭这些就能用来寻找的看法,它肯定会被搜索的最初初始化视图中的标签(厂景)?
感谢先进的任何帮助, 亲切的问候, 埃利奥特
哪里了'viewArray = [NSArray的arrayWithObjects ...'语句出现在你的代码中?它是你的'init'方法吗? – dasblinkenlight 2012-02-17 15:45:51
是的,它在init中。 – 2012-02-17 15:49:03
我假设在你第一次访问它们时,'IBOutlet'变量的值被设置为非零,对吧? – dasblinkenlight 2012-02-17 15:57:19