Und*_*ion 4 iphone cocoa-touch children uiview ios5
我有一个带有根视图的xib,它是一个UIView子类.该视图应如何获取我在Interface Builder中声明的子视图的引用?
显然,ViewController可以与插座连接,但是UIView呢?
Mos*_*she 14
Outlets是UIViewController对象的属性,它们(几乎总是)引用UIView对象(或UIView的子类)的实例.
UIViewController有一个UIView,当加载UIViewController时initWithNibNamed:,它是XIB文件的内容.您可以在UIViewController中设置出口,然后通过拖动到列表中的"文件所有者"项,或者通过拖动到Xcode助手编辑器中的代码,将它们绑定到XIB中的各个子视图.
如果您只想使用代码,有几个选项.一种方法是根据其tag属性直接访问视图.例如:
[myView viewWithTag:42];
Run Code Online (Sandbox Code Playgroud)
另一种需要考虑的方法是UIView有一个名为的属性subviews,它是一个子视图数组.您可以迭代它们并根据需要访问视图.要区分它们,您可以根据具体情况做几件事.您可以在视图上设置标记,然后使用它们.
NSArray *subviews = myView.subviews;
for(UIView *view in subviews){
if(tag == 42){
// Do something with that view
}
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在寻找特定类型的视图,例如UISwitch,这样的事情可能在简单的情况下起作用:
for(id view in subviews){
if([view isKindOfClass:NSClassFromString(@"UISwitch")]){
// Do something with that view, since it's a switch
}
}
Run Code Online (Sandbox Code Playgroud)
如果您正在使用标记,则可以在代码中设置它们,或使用Interface Builder.
| 归档时间: |
|
| 查看次数: |
9031 次 |
| 最近记录: |