【问题标题】: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】:

      例如,您可以通过它们在超级视图中的位置来区分它们。如果一个在另一个的上方或右侧。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-16
        • 1970-01-01
        • 2014-12-21
        • 2021-10-30
        • 1970-01-01
        相关资源
        最近更新 更多