如何在动作中获取按钮的名称?

时间:2010-11-12 17:15:03

标签: iphone uibutton ibaction

我有一个名为start的按钮,我想在方法中知道它调用了它的名字,我不知道该怎么做。这是按钮调用的方法。

-(IBAction) startMotion: (id)sender {
    UIButton * buttonName = (UIButton *) sender;
    NSLog(@"Button Name:  %@", buttonName.currentTitle);
}

NSLog打印

  

按钮名称:( null)

3 个答案:

答案 0 :(得分:4)

您可以通过

设置按钮的标题
[b setTitle:@"Start" forState:UIControlStateNormal];

并获得标题(currentTitle是只读的,可能是零):

[b currentTitle];

顺便说一句,如果你只想区分多个按钮,你可以设置按钮的标签属性(整数值)。

另外,检查你的viewController类中是否有指定为IBOutlet的按钮,它是否在Interface Builder中作为插座正确连接?

答案 1 :(得分:2)

我宁愿设置某个标记并比较标记值而不是阅读按钮的标题,因为您可以本地化您的应用,其中按钮标题可能会有所不同。

答案 2 :(得分:1)

我在Interface Builder中使用了错误的属性。我在Interface Builder中使用了按钮的name属性,而不是按钮设置中的title属性。