startButton.titleLabel.text = @"STOP";//do not work
[startButton setTitle:@"STOP" forState:UIControlStateNormal];//works
为什么当我使用点语法更改属性时,第一行代码不起作用?哪种方法更适合一般设置属性?如何更改UIButton属性
startButton.titleLabel.text = @"STOP";//do not work
[startButton setTitle:@"STOP" forState:UIControlStateNormal];//works
为什么当我使用点语法更改属性时,第一行代码不起作用?哪种方法更适合一般设置属性?如何更改UIButton属性
startButton.titleLabel.text
这个代码回报,你的标题按钮即文本。 您可以通过日志打印此
NSLog(@"%@",startButton.titleLabel.text);
[startButton的setTitle:@ “STOP” forState:UIControlStateNormal]。
这行代码设置了按钮的标题。
简单地归因于“titleLabel”被宣布为事实“只读”属性,见UIButton class reference
讨论 虽然此属性是只读的,但它自己的属性是可读/写的。使用这些属性来配置按钮标签的外观。我发现在文档中,请帮助。我是初学者。 – user1050548
谢谢。但有没有办法使用点语法?或者我应该总是使用set来改变属性? – user1050548
这是正确的答案。您不应该直接设置标签的文字。相反,你应该使用UIButton的setTitle:forState:方法。没有办法使用属性点语法来做到这一点(不管它是否重要,无论如何)。 –