我对UIViews的标签有疑问。 是否可以创建自己的标签,如myview.tag =“main”或类似的东西?
我问,因为我的视图是在代码中创建的,而不是使用nib文件创建的。加载容器视图并完全解析xml文件后,我需要能够获取子视图并更新值。
经过一番挖掘,我读到使用viewWithTag将是一个很好的方法来做到这一点
答案 0 :(得分:4)
是的,您可以在代码中执行此操作,这是一种常用技巧。
但是,UIView-tag是一个整数。所以你可能想要枚举或定义可读的东西 例如#define kMySuperViewTag 1或enum {kMySuperViewTag,kMyNotSoSuperViewTag,...};
答案 1 :(得分:2)
我认为你也可以使用像
这样的东西myview.layer.name="main";
,此字段为字符串
答案 2 :(得分:0)
您可以将指针存储在UIView的tag属性中。你应该将它转换为int。您还应该知道在访问它时将标记属性强制转换为什么。
示例:
UIView * myView = [[UIView alloc] init];
myView.tag = (int)@"main";
//Later, you can access the string like so:
NSString * string = (NSString*)myView.tag;
//string now points to the string literal @"main".
这可能会因64位指针而失败。