UILabel 相关使用方法间距、段落、文字颜色(详细)

开发和设计就像一对冤家,“抱”了一路。。。。。

一个lab控件,设计想到了很多, 于是就有了各种状态的Lab,居上,调整间距,不同颜色巴拉巴拉……..

先来第一个:

  • UILabel text 行间距
UIFont *font = [UIFont boldSystemFontOfSize:17];
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc]init];
//设置行间距
paragraph.lineSpacing    = 5;
paragraph.lineBreakMode  = NSLineBreakByWordWrapping;

NSDictionary *attributes = @{NSFontAttributeName:font,NSParagraphStyleAttributeName:paragraph};

CGSize sizeRect = [restaurantName boundingRectWithSize:CGSizeMake(ScreenWidth, 300) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;

_lab.frame          = CGRectMake(0,0,sizeRect.width,sizeRect.height);
_lab.numberOfLines  = 0;
_lab.font           = font;

第二弹

  • text居顶显示
    有时候Label的高度确定,但是内容让居顶,来 ~ 看代码:
    //首先要计算出text文本的大小,居顶,设置origin.y为lab的origin.y
    CGRect topRect = [self textRectForBounds:rect limitedToNumberOfLines:self.numberOfLines];
    topRect.origin.y = bounds.origin.y;
    //随后在绘制text的方法里重新绘制text文本位置
    -(void)drawTextInRect:(CGRect)rect

号外:创建一个继承于UILabel的子类,重载drawTextInRect,super调用即可。

第三弹

  • UILabel上显示不同颜色
    如图:
    圈中部分是一个lab,当然了,也是自适应的

    其实UILabel上的关键字变颜色也可以这么做,上代码,range可随意组合:

         //设置字符串中 ‘任何营养’ 染成红色
        NSString *beforeStr                            = @"任何营养健身的问题,营养师都是详细解答。";

        //这个range你可以改成某个关键字替换掉NSMakeRange
        NSRange range                                  = [beforeStr rangeOfString:@"任何营养"];

        NSMutableAttributedString *str                 = [[NSMutableAttributedString alloc]initWithString:beforeStr];
        [str addAttribute:NSForegroundColorAttributeName value:COLOR_S_RED range:NSMakeRange(0, 4)];
        label.attributedText = str;

效果如下:

这里写图片描述

  • UILabel上显示不同font大小
    不得不说3个字本来就是一个lab加上去就行了,定睛一看,哦,字的大小不一样哦。那不还是一个Lab吗 ? sei让它强大呢 ~ 来来来,瞅瞅吧 ~
        //设置不同字体
        NSString *heatStr                  = [NSString stringWithFormat:@"%@ 大卡",singleMealModel.heat];
        NSMutableAttributedString *heatstr = [[NSMutableAttributedString alloc]initWithString:heatStr];
        [heatstr addAttribute:NSFontAttributeName value:FONT_S_13 range:NSMakeRange(singleMealModel.heat.length,3)];
        cell.standardLab.attributedText    = heatstr;

效果图如下,明白了吗 ?

这里写图片描述

哦了 ~ 周末愉快 ! 明天继续 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值