ฉันสร้างชั้นเอง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
เพราะพวกเขาจะพร้อมใช้งานสำหรับการแสดงสั้น ๆ ของการเลือกไม่ใช่สำหรับการแสดงตัวเลือก