2013-08-14 7 views
7

नहीं दिखा रहा है मैं एक कस्टम UIButton पर अपने शीर्षक को रेखांकित करने की कोशिश कर रहा हूं लेकिन उदाहरण के बाद here मिला, मैं इसे स्क्रीन पर दिखाने के लिए नहीं मिल सकता।UIButton setAttributedTitle: forState:

NSMutableAttributedString *commentString = [[NSMutableAttributedString alloc] initWithString:@"The Quick Brown Fox"]; 

[commentString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [commentString length])]; 

[button setAttributedTitle:commentString forState:UIControlStateNormal]; 

यह दिखाई नहीं देता:

यहाँ कोड मैं उपयोग करने के लिए कोशिश कर रहा हूँ है। लेकिन अगर मैं नियमित रूप से ऐसा करता हूं, जैसे:

[button setTitle:@"The Quick Brown Fox" forState:UIControlStateNormal]; 

यह ठीक दिखता है। क्या कोई मुझे बता सकता है कि मुझे क्या याद आ रही है?

+0

मेरा उत्तर गलत था, इसलिए मैंने इसे हटा दिया। आईओएस का कौन सा संस्करण आप लक्षित कर रहे हैं? – Firo

+0

@ फ़िरो आईओएस 6.0 या बाद में – daveMac

उत्तर

10

मुझे यहां समस्या का एहसास हुआ। मैंने माना कि यह दिखाई नहीं दे रहा था क्योंकि मैं इसे नहीं देख सका। हालांकि, यह दिखा रहा था, यह पृष्ठभूमि के समान ही रंग है।

मुझे गलत तरीके से माना गया कि [button setTitleColor:myColor forState:UIControlStateNormal]; वह रंग होगा जो जिम्मेदार टाइटल भी उपयोग करेगा। हालांकि, मेरी पृष्ठभूमि काली है और NSMutableAttributedString को काले रंग में डिफ़ॉल्ट होना चाहिए।

[commentString addAttribute:NSForegroundColorAttributeName value:myColor range:NSMakeRange(0, [commentString length])]; 

इसे सही तरीके से दिखाता है।

+0

एफवाईआई, @ मिडपार्का का उत्तर उपरोक्त उत्तर मेरे उत्तर से संबंधित नहीं है। यह एक असंतुष्ट उपयोगकर्ता के जवाब में था जो जानना चाहता था कि उनका गलत जवाब क्यों दिया गया था। – daveMac