【问题标题】:How to get uicontrols by their ID in iphone dev environment如何在 iphone 开发环境中通过 ID 获取 uicontrols
【发布时间】:2009-08-20 10:53:31
【问题描述】:

我刚刚开始学习 iphone API,并且我已经完成了大量的 windows 编程,并且我确信有一种方法,给定传递给事件处理程序的对象,来识别它的对象 id 或标签或东西。

我在界面构建器中创建了一系列 UIButton,每个都有一个对象 ID。 但我只是看不到在 iphone API 的哪个位置可以从 UIButton 对象中获取该 ID。

我看到每个人都使用 titleforstate,但这对我不起作用,因为他们都有相同的标题。还是我在按钮中放一张图片并使用标题作为 ID?

界面构建器有一个“界面构建器身份”,我猜我无法从 iphone API 访问它,是吗?

在按钮属性的“视图”部分还有一个名为“标签”的设置,但它是一个数字。可以,但我也没有看到任何 API 调用来获取它。

我只是想弄清楚如何通过标题以外的方式识别 UI 控件。 谢谢。

【问题讨论】:

    标签: iphone uibutton


    【解决方案1】:

    继承自NSObject,只需要调用variable.tag

    【讨论】:

    • 太棒了。我查看了 UIButton 继承自 NSObject 之外的所有其他对象。谢谢。
    • stu,如果您同意将其作为答案,它将帮助有相同问题的其他人找到它。
    • 随之而来的是 UIView 方便的“viewWithTag:”方法。
    【解决方案2】:

    提供的答案对我来说很好用,但它记录在哪里?我查看了 NSObject 协议参考,没有提及标签属性或方法。

    -(IBAction) buttonPressed:(id)sender {
        int tagNum = [sender tag];
    

    [edit] 原来标签在NSView,而不是NSObject。任何从 NSView 继承的东西都有一个 tag 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 2019-07-18
      相关资源
      最近更新 更多