2010-06-20 29 views
19

Tôi có một UIButton mà tôi đã được thêm vào trong IB, tuy nhiên quan điểm đằng sau nút này thay đổi màu sắc và tôi cần phải chuyển đổi loại hình của nút giữa InfoDarkInfoLight. Thật kỳ lạ, buttonType tài sản chỉ đọc. Vậy làm thế nào tôi có thể chuyển đổi giữa các nút thông tin sáng và tối?bộ buttonType UIButton của lập trình

+0

Đây không phải là một trùng lặp. Câu hỏi này là về việc thay đổi loại nút sau khi nó được khởi tạo. Câu hỏi được tham chiếu là về cách khởi tạo nút trong mã. Vui lòng xóa trùng lặp. – osxdirk

Trả lời

23

Không có cách nào để thay đổi .buttonType sau khi được đặt.

Bạn có thể chuẩn bị hai nút và ẩn một trong số chúng tùy thuộc vào màu nền.

+0

cũng dường như có một phương pháp setter riêng, bởi lý do tại sao một cái gì đó như thế là riêng tư những người hiểu biết. Cảm ơn bạn cho ý tưởng về 2 nút, đó là những gì tôi sẽ làm. –

+0

@Jon: Riêng tư vì cài đặt này sẽ * không * chuyển đổi nút thông tin tối thành nút sáng. – kennytm

51

Bạn không thể đặt buttonType readonly sở hữu, sử dụng dưới đây có thể giúp:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
+0

Cảm ơn, điều đó đã giúp tôi. – James

+9

Khi bạn ghi đè lên lớp UIButton thì sao? (Tôi có nghĩa là phân lớp) –

+0

Trong nhanh chóng, Nếu bạn đang sử dụng lớp custome sau đó, hãy để nút = MyCustomeClass.init (loại: .custom) –

Các vấn đề liên quan