2011-11-12 40 views
5

Tôi có một UIButton được tạo bằng IB, nó được đặt thành "Rounded Rect". Tại một thời điểm, tôi muốn thay đổi loại thành "Tùy chỉnh" trong mã, có khả thi không? Tôi thấy loại có thể được thiết lập lúc tạo, nhưng không thấy nếu nó có thể thay đổi nó sau này.Thay đổi loại UIButton theo lập trình

+1

Có thể làm cho một nút mới, và trao đổi chúng ra ? –

Trả lời

9

Nếu tôi không nhầm, các loại nút khác nhau được đại diện bởi các lớp con khác nhau (riêng tư) của UIButton. Đó là lý do tại sao bạn chỉ có thể đặt loại tại thời điểm tạo chứ không phải sau đó.

+2

+1 'UIButton.buttonType' là thuộc tính chỉ đọc. Nếu bạn cần thay đổi loại nút, bạn cần phải tạo một nút mới. –

+0

Ok, tôi đã tạo chỉ một nút với loại Tùy chỉnh và thêm hình ảnh tùy chỉnh mặc định mà tôi lập trình thay đổi sau đó. Cảm ơn bạn đã giúp đỡ. – Luc

+0

Vì vậy, nếu tôi muốn tạo một lớp con UIButton thì làm thế nào để thiết lập một loại bên trong lớp này? buttonWithType: không phải là một giải pháp cho trường hợp này – user2083364

2

Tôi không biết nếu tôi sẽ có thể giúp ích nhiều, nhưng đối với tôi nó làm việc bằng cách thực hiện:

button = [UIButton buttonWithType:(UIButtonType)]; 

dụ:

calculateButton = [UIButton buttonWithType: UIButtonTypeRoundedRect]; 
+2

Điều đó sẽ mất tham chiếu đến nút đã được phân bổ. –

+1

@PatrickBassut đó là một điểm hợp lệ, và tôi nghĩ rằng nó có thể được cố định nil của tôi: ing nút cũ (đúng tôi nếu tôi sai) – JomanJi

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