मैंने एक कस्टम क्लास MyButton से विस्तार किया UIButton
। फिर इसे अंदर जोड़ा गया 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
क्योंकि वे चयन के थोड़े समय के लिए उपलब्ध हैं, न कि केवल चयन को प्रदर्शित करने के लिए।