项目中很多会见到同一个Label上,为了强调重点或引起注意等,label的text的字体和颜色都会不同。初学者可能会想到写两个label来区分不同的颜色和字体,虽然这样也可以实现,但会增加label布局的难度。
其实用富文本可以很容易实现同一Label显示不同的文本颜色大小字体等,如下那个“获取验证码”Button里的小的竖线(“ | ”),当然这里这样做有个不好处就是点击按钮时竖线会出现随button闪。(不推荐这样做)
代码如下,这里只是说明一下同一个label可以有不同颜色。
当然除了颜色,还有下划线NSUnderlineStyleAttributeName、背景颜色NSBackgroundColorAttributeName、删除线NSStrikethroughStyleAttributeName、删除线颜色NSStrikethroughColorAttributeName、文字描边颜色NSStrokeColorAttributeName、文字描边宽度NSStrokeWidthAttributeName。还有文字排版方向, 0 表示横排文本,1 表示竖排文本, iOS中只有横排,0以外的未定义。字体倾斜方向NSObliquenessAttributeName、字体拉伸或者压缩NSObliquenessAttributeName。
这里还有一个封装的改变字体的方法,只需调用就可以实现同一个label不同的字体。当然你也可以把别的Attribute也封装在里面。
_xjxLabel.text=@"20%%";
[selfchangeTheSpecifiedString:_xjxLabel.textandSpecifiedCharecters:@[@"%"]andFont:55andTheLabel:_xjxLabel];
demo整理出来后会上传至Github下载demo
喜欢的点赞哦!