我想知道是否可以在UIButton类中添加一个ivar?有点像类别但不适用于方法,但适用于ivars。
我正在以编程方式创建和显示UIButton的数组,然后我使用–addTarget:action:forControlEvents:
链接到单个操作方法,用于触摸事件。
现在,我的接收器方法需要知道所有按钮中的哪一个被按下但是使用“(id)发送器”方法并没有削减它,因为唯一区分所有按钮的是它显示的图像而没有达到目的的方式(我需要一个字符串)。按钮都在不同的地方所以我可以做一些数学运算将位置数据转换为“id”,但如果我改变按钮的位置,我也需要改变数学,我不会那样的。
除了添加(NSUInteger)idCode
属性外,我可以将UIButton子类化并更改吗?然后,当我创建按钮时,我设置了idCode,当目标动作机制触发动作方法时,我就可以sender.idCode
。这是这样做的吗?
是否有更好的标准/优雅方式来实现这种多目标行动,看看它来自哪里?
P.S。:有一种快速的方法可以在Mac上输入反引号吗?
答案 0 :(得分:7)
你可以这样做。但这不是必需的 - 每个UIView
(以及包含UIButton
的子类)都具有tag
属性,这正是您想要的。
答案 1 :(得分:2)
UIButton以及所有UIView子类都已经有一个整数属性用于此目的:tag