独特地区分UIViews

时间:2016-02-18 21:58:20

标签: ios cocoa-touch uiview uiviewcontroller

我有一个应用程序,其中每个视图控制器都是BaseViewController的子类(一个自定义视图控制器,它是UIViewController的子类)。我需要从BaseViewController区分某个视图控制器视图的子视图。应用程序非常庞大,每个子视图都不一定有tag。还有哪些方法可以区分子视图?

2 个答案:

答案 0 :(得分:1)

  

应用程序非常庞大,每个subView都不一定有“标签”。还有哪些方法可以区分子视图?

这正是tag属性的用途 - 区分其他类似的视图,例如按钮数组中的每个按钮。您应该只需要在任何给定时间区分由单个视图控制器管理的子视图;任何给定视图只应由管理其父视图的视图控制器知道,因此应用程序的大小确实不会更改tag属性的实用程序。

另一种明显区分视图的方法是使用它们是不同的对象,每个对象都有自己的地址。例如,假设你有一堆类似的观点代表座位表上的人,你想跟踪图表中每个人的视图。一种方法是让视图控制器保持NSDictionary,其中键是人,值是视图。

答案 1 :(得分:0)

XIB和Storyboard文件只是XML。您可以编写一个脚本来加载XML,放入标记属性并保存。 XML元素名称告诉您它是什么类型的视图(button,imageView等)。

或者,如果您可以在每次加载时使用不同的代码,则只需在viewDidLoad

中以编程方式标记子视图