Saya membuat kelas khusus MyButton dari UIButton
. Kemudian menambahkan ini di dalam Identity Inspector
:
Setelah ini, ubah jenis tombol ke Kustom :
Kemudian Anda dapat mengatur atribut like textColor
dan UIFont
untuk Anda UIButton
untuk status yang berbeda:
Lalu saya juga membuat dua metode di dalam MyButton
kelas yang harus saya panggil di dalam kode saya ketika saya ingin UIButton
ditampilkan sebagai disorot:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
Anda harus mengatur titleColor
untuk normal, sorot dan dipilih UIControlState
karena bisa ada lebih dari satu negara pada suatu waktu sesuai dengan dokumentasi UIControlState
. Jika Anda tidak membuat metode ini, UIButton
akan menampilkan seleksi atau penyorotan tetapi mereka tidak akan tinggal di UIColor
setup Anda di dalam UIInterface Builder
karena mereka hanya tersedia untuk tampilan pendek pilihan, bukan untuk menampilkan pilihan itu sendiri.