你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中添加文本鏈接和圖片示例代碼

iOS中添加文本鏈接和圖片示例代碼

編輯:IOS開發綜合

前言

我們在開發過程中會遇到這樣的需求。用戶注冊,或者做些其他操作的時候我們需要在下方加上這樣一段話:注冊代表你遵守我們的《用戶協議》,《隱私條款》這兩個是鏈接,那麼接下來我們改怎麼做呢,下面來一起看看詳細的介紹:

先上圖再說話

實現方法

如果我們按照平常的想法在label上面顯示文字,然後給label加上手勢也可以實現,那麼鏈接多的話,你就要判斷點擊手勢的區域,感覺麻煩,那麼蘋果給我們提供了很好的方法富文本NSMutableAttributedString。

 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 100, 375, 100)];
 textView.backgroundColor = [UIColor cyanColor];
 //創建初始化文本的顏色,以及字體大小
 NSDictionary *dictionary = @{NSFontAttributeName:[UIFont systemFontOfSize:17],NSForegroundColorAttributeName:[UIColor yellowColor]};

 NSString * string = @" 跳轉到百度\n\n 跳轉到簡書";
 //創建富文本
 NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:string attributes:dictionary];
 //實現文本鏈接
 [attributeStr addAttribute:NSLinkAttributeName value:@"http://www.jianshu.com" range:[string rangeOfString:@"簡書"]];
 [attributeStr addAttribute:NSLinkAttributeName value:@"http://www.baidu.com" range:[string rangeOfString:@"百度"]];
// textView.tintColor = [UIColor redColor];//調節文本鏈接字體的顏色

 textView.attributedText = attributeStr;
 textView.editable = NO;

上面的方法基本事件點擊點解跳轉的功能,當然你也可以遵守textview的delegate在

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange

 return YES;
}

代理方法裡面做你想要的操作,可是呢,有時後文字是分條顯示的 第一條,第二條,但是又不讓用文字,而是用上面的小點圖片顯示的,這就需要插入圖片了

 //文本插入圖片
 NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
 attachment.image = [UIImage imageNamed:@"red_2"];
 //圖片大小不合適 可以調整
 attachment.bounds = CGRectMake(0, 0, 8, 8);
 NSMutableAttributedString *attachmentString = (NSMutableAttributedString *)[NSAttributedString attributedStringWithAttachment:attachment];
 //你想要插入圖片的位置
 [textView.textStorage insertAttributedString:attachmentString atIndex:0];
 [textView.textStorage insertAttributedString:attachmentString atIndex:10];

富文本裡面還有好多東西,有興趣的小伙伴可以研究一下

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對本站的支持。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved