今天我有点困惑地发现,在尝试更改UIButton
.
// 001
[[[self button] titleLabel] setText:@"Peanuts"];
我想我知道为什么,但我只是想在这里确认一下我的想法。001 确实设置了 titleLabel 文本属性,但作为它的一个UILabel
(的子视图UIButton
)它不会导致 UI 被重绘。这会导致UILabel
text 属性发生内部变化,但遗憾的是 UI 中没有视觉变化。
// 002
[[self button]setTitle:@"Peanuts" forState:UIControlStateNormal];
似乎 setTitle:forState 方法是正确的方法,它具有需要状态的额外开销,但确实会调用 UI 重绘,因为它是在UIButton
. 我的问题是,002 是正确的方法吗,除非我做错了什么?