是否可以通过点语法更改UIButton标题标签文本?如果我通过点语法执行此操作,则文本不会更改:
self.myButton.titleLabel.text = [NSString stringWithString:@"Nop"];
但是这个确实:
[self.myButton setTitle: @"Yep" forState: UIControlStateNormal];
文本更改适用于纯UILabel,UIButton是特殊情况还是什么?
答案 0 :(得分:10)
这是因为可以针对几种不同的状态(正常,突出显示等)更改UIButton的文本。 Apple只是选择要求显式代码来设置文本。如果你真的想要,你可以创建一个类别来实现它。
答案 1 :(得分:1)
UIButton可以为任何UIControlState重新配置他们的标题(见这里:UIControlState)。
由于使用点语法不会为任何特定状态设置标题,因此UIButton可能会重新配置UIControlStateNormal的标题,该标题设置为空。
答案 2 :(得分:0)
尝试
myButton.titleLabel.text=@"foo";
这里有效
[]的