iOS富文字實現部分文字可點選
專案中需要用富文字實現部分文字可以點選, 今天不忙, 就自己封裝了個ZHAttributeTextView類
github地址:https://github.com/ZHHalsey/ZHAttributeTextView (感覺好用, 請點個star “^_^”)
效果圖如下所示(不需要左側按鈕的話, 可以在ZHAttributeTextView中去掉btn就可以)

demo展示
使用方法很簡單
1 > 匯入類 'ZHAttributeTextView'
2 > 然後在需要實現的地方 #import "ZHAttributeTextView.h"
3 > 需要的地方建立物件, 並且設定屬性 (可以把下面程式碼拷貝到你需要實現的地方)
ZHAttributeTextView *myTextView = [[ZHAttributeTextView alloc]initWithFrame:CGRectMake(10, 300, self.view.bounds.size.width - 20, 50)];
// 如果這裡設為1個的話, 就不用設定第二個的起始座標跟文字長度了
myTextView.numClickEvent = 2; // 有幾個點選事件(只能設為1個或2個)
myTextView.oneClickLeftBeginNum = 7; // 第一個點選的起始座標數字是幾
myTextView.oneTitleLength = 12; // 第一個點選的文字長度是幾
myTextView.twoClickLeftBeginNum = 19; // 第二個點選的起始座標數字是幾
myTextView.twoTitleLength = 11; // 第二個點選的文字長度是幾
myTextView.fontSize = 14; // 可點選的字型大小
// 設定了上面後要在最後設定內容
myTextView.content = @"我已閱讀並接受《XXXX註冊服務協議》《XXXX風險提示書》";
myTextView.agreeBtnClick = ^(UIButton *btn) {
btn.selected = !btn.selected;
if(btn.selected == YES){
NSLog(@"左側按鈕選中狀態為YES");
}else{
NSLog(@"左側按鈕選中狀態為NO");
}
};
myTextView.eventblock = ^(NSAttributedString *contentStr) {
NSLog(@"點選了富文字--%@", contentStr.string);
};
[self.view addSubview:myTextView];