iOS中添加文本鏈接和圖片示例代碼
前言
我們在開發(fā)過程中會遇到這樣的需求。用戶注冊,或者做些其他操作的時候我們需要在下方加上這樣一段話:注冊代表你遵守我們的《用戶協(xié)議》,《隱私條款》這兩個是鏈接,那么接下來我們改怎么做呢,下面來一起看看詳細(xì)的介紹:
先上圖再說話
實現(xiàn)方法
如果我們按照平常的想法在label上面顯示文字,然后給label加上手勢也可以實現(xiàn),那么鏈接多的話,你就要判斷點擊手勢的區(qū)域,感覺麻煩,那么蘋果給我們提供了很好的方法富文本NSMutableAttributedString。
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 100, 375, 100)]; textView.backgroundColor = [UIColor cyanColor]; //創(chuàng)建初始化文本的顏色,以及字體大小 NSDictionary *dictionary = @{NSFontAttributeName:[UIFont systemFontOfSize:17],NSForegroundColorAttributeName:[UIColor yellowColor]}; NSString * string = @" 跳轉(zhuǎn)到百度\n\n 跳轉(zhuǎn)到簡書"; //創(chuàng)建富文本 NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:string attributes:dictionary]; //實現(xiàn)文本鏈接 [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];//調(diào)節(jié)文本鏈接字體的顏色 textView.attributedText = attributeStr; textView.editable = NO;
上面的方法基本事件點擊點解跳轉(zhuǎn)的功能,當(dāng)然你也可以遵守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"]; //圖片大小不合適 可以調(diào)整 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];
富文本里面還有好多東西,有興趣的小伙伴可以研究一下
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
iOS應(yīng)用開發(fā)中運用設(shè)計模式中的組合模式的實例解析
這篇文章主要介紹了iOS應(yīng)用開發(fā)中運用設(shè)計模式中的組合模式的實例解析,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式
這篇文章主要介紹了iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式的相關(guān)資料,需要的朋友可以參考下2016-09-09iOS中containsString和rangeOfString的區(qū)別小結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于iOS中containsString和rangeOfString的一些區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01