TTTAttributedLabel 使用方法
来源:互联网 发布:sql 跨数据库 update 编辑:程序博客网 时间:2024/06/04 20:00
版权声明:本文为博主原创文章,未经博主允许不得转载。
TTTAttributedLabel 库地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel
#import "ViewController.h"
@interfaceViewController () <TTTAttributedLabelDelegate,UIActionSheetDelegate>
@end
@implementation ViewController
static inline NSRegularExpression * NameRegularExpression() {
static NSRegularExpression *_nameRegularExpression = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_nameRegularExpression = [[NSRegularExpressionalloc]initWithPattern:@"^\\w+"options:NSRegularExpressionCaseInsensitiveerror:nil];
});
return _nameRegularExpression;
}
- (void)viewDidLoad {
[superviewDidLoad];
TTTAttributedLabel *label = [[TTTAttributedLabelalloc]initWithFrame:CGRectMake(100,120,120,60)];
label.font = [UIFontsystemFontOfSize:14];
label.textColor = [UIColorblackColor];
label.lineBreakMode =NSLineBreakByCharWrapping;
label.numberOfLines =0;
//设置高亮颜色
label.highlightedTextColor = [UIColorgreenColor];
//检测url
label.enabledTextCheckingTypes =NSTextCheckingTypeLink;
//对齐方式
label.verticalAlignment =TTTAttributedLabelVerticalAlignmentCenter;
//行间距
label.lineSpacing =8;
//设置阴影
label.shadowColor = [UIColorgrayColor];
label.delegate =self;// Delegate
//NO 不显示下划线
label.linkAttributes = [NSDictionarydictionaryWithObject:[NSNumbernumberWithBool:NO]forKey:(NSString *)kCTUnderlineStyleAttributeName];
NSString *text =@"冷清风赞了 王战 的说说";
[label setText:textafterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString)
{
//设置可点击文字的范围
NSRange boldRange = [[mutableAttributedStringstring]rangeOfString:@"冷清风"options:NSCaseInsensitiveSearch];
//设定可点击文字的的大小
UIFont *boldSystemFont = [UIFontboldSystemFontOfSize:16];
CTFontRef font =CTFontCreateWithName((__bridgeCFStringRef)boldSystemFont.fontName, boldSystemFont.pointSize,NULL);
if (font) {
//设置可点击文本的大小
[mutableAttributedString addAttribute:(NSString *)kCTFontAttributeNamevalue:(__bridgeid)font range:boldRange];
//设置可点击文本的颜色
[mutableAttributedStringaddAttribute:(NSString*)kCTForegroundColorAttributeNamevalue:(id)[[UIColorblueColor]CGColor] range:boldRange];
CFRelease(font);
}
return mutableAttributedString;
}];
//正则
NSRegularExpression *regexp =NameRegularExpression();
NSRange linkRange = [regexprangeOfFirstMatchInString:textoptions:0range:NSMakeRange(0,3)];
NSURL *url = [NSURLURLWithString:[NSStringstringWithFormat:@"http://www.exiucai.com/"]];
//设置链接的url
[label addLinkToURL:urlwithRange:linkRange];
[self.viewaddSubview:label];
}
- (void)attributedLabel:(__unusedTTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url
{
[[[UIActionSheetalloc]initWithTitle:[url absoluteString]delegate:selfcancelButtonTitle:NSLocalizedString(@"Cancel",nil)destructiveButtonTitle:nilotherButtonTitles:NSLocalizedString(@"Open Link in Safari",nil),nil]showInView:self.view];
}
#pragma mark - UIActionSheetDelegate
- (void)actionSheet:(UIActionSheet *)actionSheet
clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == actionSheet.cancelButtonIndex) {
return;
}
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:actionSheet.title]];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- TTTAttributedLabel 使用方法
- TTTAttributedLabel 使用方法
- TTTAttributedLabel 使用方法
- TTTAttributedLabel 使用方法
- TTTAttributedLabel 使用方法
- TTTAttributedLabel 使用方法
- iOS学笔记本45- TTTAttributedLabel 使用方法
- TTTAttributedLabel 使用方法 (可点击文字文本)
- TTTAttributedLabel 使用
- TTTAttributedLabel 中的一些bug
- iOS TTTAttributedLabel 使用
- TTTAttributedLabel 高度计算
- iOS TTTAttributedLabel复制
- TTTAttributedLabel 使用小记
- 【iOS】TTTAttributedLabel链接点击
- TTTAttributedLabel 高度计算
- UILabel的改进版 TTTAttributedLabel
- TTTAttributedLabel 如何将多个字符串高亮显示
- linux下目录结构
- 解决SpringMvc限定请求方法POST推送数据出现的中文乱码问题
- CoffeeScript和Sass提高Web开发效率
- linux RPM包安装、更新、删除等操作命令简明总结
- 开放教育资源 https://archive.org/details/education [记录]
- TTTAttributedLabel 使用方法
- Html5之web storage
- web自动化测试第2步:定位元素
- AngularJs ng-show 和 ng-if的区别
- Web页面中5种超酷的Hover效果
- TensorFlow模型保存和提取方法
- c# WinForm窗体实现动态时间展示
- 2017网易春招 小易记单词(set)
- SSH免密码登录