我有一个名为start的按钮,我想在方法中知道它的名称是什么,我不确定如何做。这是按钮调用的方法。

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

NSlog打印

按钮名称:( null)

有帮助吗?

解决方案 3

我在Interface Builder中使用了错误的属性。我在接口构建器中使用按钮的名称属性,而不是从按钮设置中的标题属性。

其他提示

您可以设置按钮的标题

[b setTitle:@"Start" forState:UIControlStateNormal];

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

[b currentTitle];

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

另外,检查您是否将按钮指定为IBOUTLET,并且在您的ViewController类中指定了按钮,并且它是否正确连接为Interface Builder中的插座?

我宁愿设置一个特定标签并比较标签值,而不是读取按钮的标题,因为您有可能将应用程序定位在该按钮标题可能会有所不同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top