ฉันสร้างชั้นเองMyButtonUIButtonยื่นออกมาจาก จากนั้นเพิ่มสิ่งนี้ภายในIdentity Inspector:

หลังจากนี้ให้เปลี่ยนประเภทปุ่มเป็นกำหนดเอง :

จากนั้นคุณสามารถตั้งค่าคุณลักษณะที่ต้องการtextColorและUIFontสำหรับUIButtonสถานะที่แตกต่างกัน:

จากนั้นฉันก็สร้างสองวิธีในMyButtonคลาสซึ่งฉันต้องโทรหาภายในโค้ดของฉันเมื่อฉันต้องการUIButtonให้แสดงเป็นไฮไลต์:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
คุณจะต้องตั้งค่าtitleColorสำหรับผิวธรรมดา, ไฮไลท์และเลือกเพราะสามารถมีได้มากกว่าหนึ่งรัฐในเวลาตามเอกสารของUIControlState UIControlStateหากคุณไม่ได้สร้างวิธีการเหล่านี้UIButtonจะแสดงตัวเลือกหรือไฮไลต์ แต่พวกเขาจะไม่อยู่ในการUIColorตั้งค่าของคุณUIInterface Builderเพราะพวกเขาจะพร้อมใช้งานสำหรับการแสดงสั้น ๆ ของการเลือกไม่ใช่สำหรับการแสดงตัวเลือก