Tôi hơi bối rối khi thấy rằng những điều sau đây không hoạt động khi cố gắng thay đổi văn bản hiển thị trên UIButton
.Đặt tiêu đềLabel cho UIButton
// 001
[[[self button] titleLabel] setText:@"Peanuts"];
Tôi nghĩ mình biết tại sao, nhưng tôi chỉ muốn xác nhận suy nghĩ của mình ở đây. 001 không đặt thuộc tính văn bản titleLabel, nhưng là thuộc tính văn bản UILabel
(xem phụ của UIButton
), nó không làm cho giao diện người dùng được vẽ lại. Điều này dẫn đến thay đổi nội bộ đối với thuộc tính văn bản UILabel
, nhưng đáng tiếc là không có thay đổi trực quan trong giao diện người dùng.
// 002
[[self button]setTitle:@"Peanuts" forState:UIControlStateNormal];
Có vẻ như rằng phương pháp setTitle: forState là cách chính xác để đi, nó có chi phí thêm đòi hỏi một nhà nước nhưng không gọi một giao diện người dùng vẽ lại bởi vì nó được gọi trực tiếp trên UIButton
. Câu hỏi của tôi là, là 002 cách chính xác để làm điều này, nó sẽ có vẻ nó là trừ khi tôi đang làm một cái gì đó hoàn toàn sai?
Cảm ơn bạn, được đánh giá cao. – fuzzygoat