2014-11-14 94 views
0

你好我想可點擊的UILabel與Facebook類似的,如文本,標籤的文本將類似於的UILabel與多個鏈接

"You, Steve and 50 others like this." 

如果「你」,「史蒂夫」和「50人」應該是可點擊分開。

我想我的運氣與NSAttributedString,但它不是幫助我,任何人都可以幫助我找到一種方式?

+1

這可能會幫助您:http://stackoverflow.com/questions/8839464/uilabel-string-as-text-and-links – Mrunal 2014-11-14 12:22:13

+0

感謝@Mrunal我認爲,這將導致我的解決方案 – Abhishek 2014-11-14 12:28:40

+0

@ Kampai我認爲它對於UITextView – Abhishek 2014-11-14 12:28:56

回答

1

試試這個,但它不是用於標籤,而是用於textView。

NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:@"firstsecond"]; 
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,5)]; 
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(5,6)]; 




//[string addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:10] range:NSMakeRange(0,5)]; 

[string addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"http://www.google.co.in"] range:NSMakeRange(0,5)]; 



[string addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"http://www.yahoo.com"] range:NSMakeRange(5,6)]; 



self.txtView.attributedText=string; 
self.txtView.scrollEnabled = NO; 
self.txtView.editable = NO; 
self.txtView.textContainer.lineFragmentPadding = 0; 
self.txtView.textContainerInset = UIEdgeInsetsMake(0, 0, 0, 0); 
self.txtView.delegate = self; 
} 
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)url inRange:  (NSRange)characterRange 
{ 
    return YES; 
    } 
+0

後不要忘記 2014-11-14 12:51:57

+1

「僅當文本視圖可選但不可編輯時,文本視圖中的鏈接纔是交互式的。」 - 可能對某人有用,我會浪費很多時間。 – 2016-01-28 11:30:53