【问题标题】:Uniquely identify two different views唯一标识两个不同的视图
【发布时间】:2014-02-17 10:39:06
【问题描述】:
我在主视图中有两个按钮/视图,它们具有相同的名称、相同的标签和在按下任何按钮时调用的相同事件。那么,如何区分按下的是哪个按钮呢?
请不要建议更改按钮的名称或标签,因为我的应用程序太大,因此在整个应用程序中更改名称或标签是一项繁琐的工作。
还有其他方法可以区分两个按钮/视图吗?
【问题讨论】:
标签:
ios
iphone
uiview
tags
uibutton
【解决方案1】:
这样定义您的自定义属性
#define kCustomProperty @"CustomProperty"
将您的对象与该自定义属性相关联,如下所示
objc_setAssociatedObject(myObj,kCustomProperty , myData, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
使用相同的属性和对象获取数据,如下所示
NSObject *aObj = objc_getAssociatedObject(myObj, kCustomProperty);
如果您不想使用标签或更改视图名称,则可以通过编码创建一种自定义属性
.
【解决方案2】:
我不太明白您想要做什么,看来您应该考虑更改您的设计。话虽如此,您可以根据许多参数来区分两个按钮\视图:位置、大小、颜色、标题...这实际上取决于您如何创建和设置它们以及它们之间的区别。
【解决方案3】:
例如,您可以通过它们在超级视图中的位置来区分它们。如果一个在另一个的上方或右侧。