我有一个应用程序,其中每个视图控制器都是BaseViewController
的子类(一个自定义视图控制器,它是UIViewController
的子类)。我需要从BaseViewController
区分某个视图控制器视图的子视图。应用程序非常庞大,每个子视图都不一定有tag
。还有哪些方法可以区分子视图?
答案 0 :(得分:1)
应用程序非常庞大,每个subView都不一定有“标签”。还有哪些方法可以区分子视图?
这正是tag
属性的用途 - 区分其他类似的视图,例如按钮数组中的每个按钮。您应该只需要在任何给定时间区分由单个视图控制器管理的子视图;任何给定视图只应由管理其父视图的视图控制器知道,因此应用程序的大小确实不会更改tag
属性的实用程序。
另一种明显区分视图的方法是使用它们是不同的对象,每个对象都有自己的地址。例如,假设你有一堆类似的观点代表座位表上的人,你想跟踪图表中每个人的视图。一种方法是让视图控制器保持NSDictionary
,其中键是人,值是视图。
答案 1 :(得分:0)
XIB和Storyboard文件只是XML。您可以编写一个脚本来加载XML,放入标记属性并保存。 XML元素名称告诉您它是什么类型的视图(button,imageView等)。
或者,如果您可以在每次加载时使用不同的代码,则只需在viewDidLoad