关于UIVIEW标签的问题objective-c

时间:2010-02-22 13:45:16

标签: iphone objective-c uiview tags

我对UIViews的标签有疑问。 是否可以创建自己的标签,如myview.tag =“main”或类似的东西?

我问,因为我的视图是在代码中创建的,而不是使用nib文件创建的。加载容器视图并完全解析xml文件后,我需要能够获取子视图并更新值。

经过一番挖掘,我读到使用viewWithTag将是一个很好的方法来做到这一点

3 个答案:

答案 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位指针而失败。