我有以下方法
-(IBAction)back:(id)sender {
}
并希望能够知道发件人ID。
e.g。如果有多个按钮链接到此方法,我想知道按下了哪个按钮。
答案 0 :(得分:6)
只需在switch语句中使用继承自UIView的标记属性,该属性是NSInteger,或使用if条件。
可以在代码中或通过InterfaceBuilder设置tag属性。
答案 1 :(得分:3)
[发件人标签]
我不知道你的意思是“id”(“发送者”是一个id,实际上是一个NSObject *),但你可以使用标签。您必须事先在Interface Builder中或以编程方式设置标记。
答案 2 :(得分:3)
如果您为界面中的按钮设置了IBOutlets,那么您只需将发件人与发件人进行比较即可。
如果你有
,那就在你的界面定义中...
(IBOutlet) UIButton *button1;
(IBOutlet) UIButton *button2;
...
在您的实施中,您有:
- (IBAction) buttonPressed: (id) sender
{
if (sender == button1) {
....
}
else if (sender == button2) {
...
}
}
就个人而言,我更喜欢为每个按钮使用不同的动作方法,然后它们都可以为常见的事物调用常用的例程。但是,对于简单的项目,上述方法将起作用。
-J
答案 3 :(得分:0)
将每个按钮的tag
属性设置为唯一的整数(在IB中或以编程方式),并在操作方法中启用它。