我在IB中为选取行创建了一个自定义视图。该行有一个imageview和标签。如果没有为视图创建viewcontroller,有没有办法访问子视图并改变它们的属性?
如果我没有视图控制器,谁将成为文件所有者?
THX!
答案 0 :(得分:0)
UILabel *pickerLabel = [pickerView viewWithTag:42];
答案 1 :(得分:0)
如果在界面构建器中为子视图设置标记,则可以使用父视图(相关子视图)上的方法引用视图:
[parentView viewWithTag:3];
其中3是您在IB中为子视图标记设置的数字。您可以将其放在管理或使视图显示在屏幕上的行中,或者您可以在哪里引用子视图的主/父视图。
答案 2 :(得分:0)
任何对象都成为所有者,您可以将子视图连接到文件所有者的出口。所以它取决于您想要存储组件的引用的位置。这里的典型模式是UIView的子类成为所有者,它将代表自定义视图。
如果您不想使用outlet或者不想继承UIView,那么您可以使用标签。您可以在IB中为每个视图对象设置标记。例如,将标签的标签设置为1.然后,您可以使用viewWithTag:
方法向其超级视图请求具有匹配标记的子视图对象。
答案 3 :(得分:0)
文件的所有者可以是任何类。有关如何从Nib文件加载自定义表单元格的示例,请参阅Apple的tableview控制器文档,了解如何在IB中配置此样式方案。这种模式通常不仅可以用于uitableviews。