項目中需要用富文本實現(xiàn)用戶注冊的時候那些注冊協(xié)議等部分文字可以點擊跳轉(zhuǎn)的效果, 今天不忙, 就自己封裝了個ZHAttributeTextView類
github地址:https://github.com/ZHHalsey/ZHAttributeTextView (感覺好用, 請點個star)
效果圖如下所示(不需要左側(cè)按鈕的話, 可以在ZHAttributeTextView中去掉btn就可以)
使用方法很簡單
1 > 導入類 'ZHAttributeTextView'
2 > 然后在需要實現(xiàn)的地方 #import "ZHAttributeTextView.h"
3 > 需要的地方創(chuàng)建對象, 并且設(shè)置屬性 (可以把下面代碼拷貝到你需要實現(xiàn)的地方)
ZHAttributeTextView *myTextView = [[ZHAttributeTextView alloc]initWithFrame:CGRectMake(10, 300, self.view.bounds.size.width - 20, 50)];
// 如果這里設(shè)為1個的話, 就不用設(shè)置第二個的起始坐標跟文本長度了
myTextView.numClickEvent = 2; ? ? ? ? ? ? ? ? ? ????????????? ?// 有幾個點擊事件(只能設(shè)為1個或2個)
myTextView.oneClickLeftBeginNum = 7; ? ? ? ?????????????// 第一個點擊的起始坐標數(shù)字是幾
myTextView.oneTitleLength = 12; ? ? ? ? ? ? ? ? ? ?????????????// 第一個點擊的文本長度是幾
myTextView.twoClickLeftBeginNum = 19; ? ? ?????????????// 第二個點擊的起始坐標數(shù)字是幾
myTextView.twoTitleLength = 11; ? ? ? ? ? ? ? ? ? ? ? ? ? ?????// 第二個點擊的文本長度是幾
myTextView.fontSize = 14; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 可點擊的字體大小
myTextView.titleTapColor= [UIColororangeColor];? ? // 可點擊富文本字體顏色
// 設(shè)置了上面后要在最后設(shè)置內(nèi)容
myTextView.content = @"我已閱讀并接受《XXXX注冊服務(wù)協(xié)議》《XXXX風險提示書》";
myTextView.agreeBtnClick = ^(UIButton *btn) {
btn.selected = !btn.selected;
if(btn.selected == YES){
NSLog(@"左側(cè)按鈕選中狀態(tài)為YES");
}else{
NSLog(@"左側(cè)按鈕選中狀態(tài)為NO");
}
};
myTextView.eventblock = ^(NSAttributedString *contentStr) {
NSLog(@"點擊了富文本--%@", contentStr.string);
};
[self.view addSubview:myTextView];