iOS中添加文本鏈接和圖片示例代碼
前言
我們?cè)陂_發(fā)過程中會(huì)遇到這樣的需求。用戶注冊(cè),或者做些其他操作的時(shí)候我們需要在下方加上這樣一段話:注冊(cè)代表你遵守我們的《用戶協(xié)議》,《隱私條款》這兩個(gè)是鏈接,那么接下來我們改怎么做呢,下面來一起看看詳細(xì)的介紹:
先上圖再說話
實(shí)現(xiàn)方法
如果我們按照平常的想法在label上面顯示文字,然后給label加上手勢(shì)也可以實(shí)現(xiàn),那么鏈接多的話,你就要判斷點(diǎn)擊手勢(shì)的區(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)到簡(jiǎn)書"; //創(chuàng)建富文本 NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:string attributes:dictionary]; //實(shí)現(xiàn)文本鏈接 [attributeStr addAttribute:NSLinkAttributeName value:@"http://www.jianshu.com" range:[string rangeOfString:@"簡(jiǎn)書"]]; [attributeStr addAttribute:NSLinkAttributeName value:@"http://www.baidu.com" range:[string rangeOfString:@"百度"]]; // textView.tintColor = [UIColor redColor];//調(diào)節(jié)文本鏈接字體的顏色 textView.attributedText = attributeStr; textView.editable = NO;
上面的方法基本事件點(diǎn)擊點(diǎn)解跳轉(zhuǎn)的功能,當(dāng)然你也可以遵守textview的delegate在
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange return YES; }
代理方法里面做你想要的操作,可是呢,有時(shí)后文字是分條顯示的 第一條,第二條,但是又不讓用文字,而是用上面的小點(diǎn)圖片顯示的,這就需要插入圖片了
//文本插入圖片 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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- IOS 中CATextLayer繪制文本字符串
- iOS實(shí)現(xiàn)富文本編輯器的方法詳解
- 解決iOS UITextField 編輯時(shí)文本偏移問題
- iOS App開發(fā)中擴(kuò)展RCLabel組件進(jìn)行基于HTML的文本布局
- iOS使用runtime修改文本框(TextField)的占位文字顏色
- IOS判斷字符串是不是純數(shù)字的方法總結(jié)
- iOS中如何判斷中英文混合的字符長(zhǎng)度
- iOS UITextField最大字符數(shù)和字節(jié)數(shù)的限制詳解
- IOS判斷字符串是否有空格實(shí)例
- iOS中對(duì)文本的字符限制示例詳解
相關(guān)文章
詳解iOS 計(jì)步器的幾種實(shí)現(xiàn)方式
本篇文章主要介紹了詳解iOS 計(jì)步器的幾種實(shí)現(xiàn)方式,詳細(xì)的介紹了兩種可以獲取計(jì)步數(shù)據(jù)的方法,有興趣的可以了解一下2017-08-08iOS應(yīng)用開發(fā)中運(yùn)用設(shè)計(jì)模式中的組合模式的實(shí)例解析
這篇文章主要介紹了iOS應(yīng)用開發(fā)中運(yùn)用設(shè)計(jì)模式中的組合模式的實(shí)例解析,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式
這篇文章主要介紹了iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式的相關(guān)資料,需要的朋友可以參考下2016-09-09iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問題詳解
這篇文章主要給大家介紹了關(guān)于iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2019-01-01iOS實(shí)現(xiàn)只有底部邊框線的輸入框示例代碼
這篇文章給大家分享了一種利用iOS實(shí)現(xiàn)只有底部邊框線的輸入框,其實(shí)這個(gè)效果也挺常見的,本文給出了示例代碼,下面來看看如何實(shí)現(xiàn)這種效果。2016-09-09iOS中containsString和rangeOfString的區(qū)別小結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于iOS中containsString和rangeOfString的一些區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01iOS中創(chuàng)建Model的最佳實(shí)踐記錄
這篇文章主要給大家介紹了關(guān)于iOS中創(chuàng)建Model的最佳實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10iOS如何將UIButton中的圖片與文字上下對(duì)齊詳解
對(duì)于UIButton實(shí)現(xiàn)上顯示圖片,下顯示文字這個(gè)需求估計(jì)各位iOS開發(fā)者們都不陌生,所以下面這篇文章主要給大家介紹了關(guān)于iOS如何將UIButton中圖片與文字上下對(duì)齊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10