2013-03-10 15 views
9

मैं एक लेबल में कुछ पाठ रेखांकित करने की कोशिश कर रहा हूं। हालांकि, मुझे नहीं पता कि लेबल में पूरे पाठ की सीमा कैसे प्राप्त करें। यह मेरे पास अब तक है:मैं आईओएस 6 में टेक्स्ट कैसे रेखांकित कर सकता हूं?

NSMutableAttributedString *mat = [self.tableLabel.attributedText mutableCopy]; 
[mat addAttributes:@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)} range://??]; 
self.tableLabel.attributedText = mat; 

मुझे सीमा के लिए क्या रखना चाहिए?

+0

http://stackoverflow.com/questions/2711297/underline-text-in- uilabel –

उत्तर

22

रेंज आप उपयोग कर सकते हैं के लिए:

NSMakeRange (0, mat.length); 
इस तरह

:

NSMutableAttributedString *mat = [self.tableLabel.attributedText mutableCopy]; 
[mat addAttributes:@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)} range:NSMakeRange (0, mat.length)]; 
self.tableLabel.attributedText = mat; 
+2

एनएसएमकेरेंज() तर्कसंगत रूप से बेहतर है क्योंकि यह सी 99 के निहित साहित्य पर भरोसा नहीं करता है जिसमें कुछ समस्याएं हैं। –

+0

सच है, उत्तर अद्यतन कर रहा है। – Ares

+0

महान काम करता है! NSMakeRange कैसे काम करता है? – user1420042

0
NSMutableAttributedString *attributedString =[[NSMutableAttributedString alloc] initWithString:strComplete]; 

[attributedString addAttribute:NSUnderlineStyleAttributeName 
         value:@(NSUnderlineStyleSingle) 
         range:[strComplete rangeOfString:strFirst]]; 

[attributedString addAttribute:NSForegroundColorAttributeName 
         value:[UIColor redColor] 
         range:[strComplete rangeOfString:strSecond]]; 


cell.textLabel.attributedText = attributedString; 
+0

कृपया ध्यान दें कि कोड केवल उत्तर ही निराश हैं। – GhostCat

संबंधित मुद्दे

 संबंधित मुद्दे