Tôi đã tạo một lớp tùy chỉnh MyButton mở rộng từ UIButton
. Sau đó thêm vào bên trong Identity Inspector
:
Sau đó, thay đổi loại nút thành Tùy chỉnh :
Sau đó, bạn có thể đặt các thuộc tính như textColor
và UIFont
cho của bạn UIButton
cho các trạng thái khác nhau:
Sau đó, tôi cũng đã tạo hai phương thức bên trong MyButton
lớp mà tôi phải gọi bên trong mã của mình khi tôi muốn UIButton
hiển thị như được tô sáng:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
Bạn phải đặt mức titleColor
bình thường, tô sáng và chọn UIControlState
vì có thể có nhiều trạng thái tại một thời điểm theo tài liệu của UIControlState
. Nếu bạn không tạo các phương thức này, thì UIButton
sẽ hiển thị lựa chọn hoặc tô sáng nhưng chúng sẽ không ở trong UIColor
thiết lập của bạn bên trong UIInterface Builder
vì chúng chỉ có sẵn để hiển thị ngắn một lựa chọn, không phải để hiển thị lựa chọn.