YYText的初步使用

在我的项目中YYText用于实现富文本的点击响应,例如点击话题文本执行对应的响应逻辑。简单记录以备不虞。

需要注意的点

·普通文本用YYText设置为富文本,YYLabel只需要将设置好的富文本赋值,做展示用。而非设置label的text属性,否则使用yylabel和uilabel是一样的。
·要实现点击效果,赋值富文本代码一定要写在点击响应回调的后面,否则没有点击效果。

简单的代码实现

    NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:@"llalalalallaalal#This is a topic#"];
    [text yy_setFont:[UIFont systemFontOfSize:15.0f] range:text.yy_rangeOfAll];
    [text yy_setColor:[UIColor blackColor] range:text.yy_rangeOfAll];
    [text yy_setAlignment:NSTextAlignmentLeft range:text.yy_rangeOfAll];
    
    
    NSRange range1 = [[text string] rangeOfString:@"#This is a topic#" options:NSCaseInsensitiveSearch];
    //在使用创建NSRange时不要用***
    [text yy_setColor:[UIColor blueColor] range:range1];
    [text yy_setTextHighlightRange:range1 color:[UIColor blueColor] backgroundColor:[UIColor grayColor] tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
        NSLog(@"taped the topic");
    }];

    _yLabel = [YYLabel new];
    //自动换行
    _yLabel.numberOfLines = 0;
    //自适应高度
    _yLabel.preferredMaxLayoutWidth = CGRectGetWidth(self.view.frame) - 30;
    [self.view addSubview:_yLabel];

    _yLabel.numberOfLines = 0;
    _yLabel.attributedText = text;

可以通过属性文本来设置yylabel的例如对齐方式、字体、颜色等属性。
PS:稍作了解发现YYKit真的是非常优秀的源码,值得深入学习,也同时要像作者大神学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。