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