我有一个名为start的按钮,我想在方法中知道它调用了它的名字,我不知道该怎么做。这是按钮调用的方法。
-(IBAction) startMotion: (id)sender {
UIButton * buttonName = (UIButton *) sender;
NSLog(@"Button Name: %@", buttonName.currentTitle);
}
NSLog打印
按钮名称:( null)
答案 0 :(得分:4)
您可以通过
设置按钮的标题[b setTitle:@"Start" forState:UIControlStateNormal];
并获得标题(currentTitle是只读的,可能是零):
[b currentTitle];
顺便说一句,如果你只想区分多个按钮,你可以设置按钮的标签属性(整数值)。
另外,检查你的viewController类中是否有指定为IBOutlet的按钮,它是否在Interface Builder中作为插座正确连接?
答案 1 :(得分:2)
我宁愿设置某个标记并比较标记值而不是阅读按钮的标题,因为您可以本地化您的应用,其中按钮标题可能会有所不同。
答案 2 :(得分:1)
我在Interface Builder中使用了错误的属性。我在Interface Builder中使用了按钮的name属性,而不是按钮设置中的title属性。