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