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 textColordan UIFontuntuk Anda UIButtonuntuk status yang berbeda:

Lalu saya juga membuat dua metode di dalam MyButtonkelas yang harus saya panggil di dalam kode saya ketika saya ingin UIButtonditampilkan 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 titleColoruntuk normal, sorot dan dipilih UIControlStatekarena bisa ada lebih dari satu negara pada suatu waktu sesuai dengan dokumentasi UIControlState. Jika Anda tidak membuat metode ini, UIButtonakan menampilkan seleksi atau penyorotan tetapi mereka tidak akan tinggal di UIColorsetup Anda di dalam UIInterface Builderkarena mereka hanya tersedia untuk tampilan pendek pilihan, bukan untuk menampilkan pilihan itu sendiri.