UILabel两边对齐的实现(NSAttributedString)

标签(空格分隔): ios UILabel


最近有需求要让UILabel 实现两边的对齐,我们知道UIlabel默认左对齐,有居中,右对齐可选,但是就是没有两边对齐,还好UILabelios6出来之后多了个attributedText

@property(nullable, nonatomic,copy)  NSAttributedString *attributedText NS_AVAILABLE_IOS(6_0);  

这个属性的增加使得UILabel具有类似富文本的功能,可显示的效果变得更加丰富。

话不多说,直接上代码:

- (NSMutableAttributedString*)getAttr:(NSString*)str {

    NSMutableParagraphStyle   *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:5.5];//行间距
    paragraphStyle.alignment = NSTextAlignmentJustified;//文本对齐方式 左右对齐(两边对齐)
        
    NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc] initWithString:str];
    
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [str length])];//设置段落样式
    
    [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13.0] range:NSMakeRange(0, [str length])];//设置字体大小
    
    [attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleNone] range:NSMakeRange(0, [str length])];//这段话必须要添加,否则UIlabel两边对齐无效 NSUnderlineStyleAttributeName (设置下划线)
    
    return attributedString;
    
}

使用下看下运行效果:

(未对齐前)


0C372A1C-78C1-400F-9098-FE20867DBADC.png

(两边对齐后)


C0BC2244-0ACD-48CE-BD6D-09E95C1214A5.png

是不是效果立刻显现 (下一篇我们将去了解下 UILabel里面的属性)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • // the underlying attributed string drawn by the label, i...
    园丁云阅读 13,541评论 4 19
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,494评论 4 61
  • 真正理解这两个字是四十五岁的父亲从建造的庙亭上摔下来回家提及此事所省略的绝望和喊不出一声救命的细节 《却》想要一个...
    南方小余阅读 190评论 2 6
  • 云南的丽江和大理应该是许多人都想去的地方吧,我也不例外选择在大四自己空闲的时候和两三好友一同去玩一次。 我们3月3...
    spider_dragon阅读 545评论 2 3
  • 1. 此刻我正听着田馥甄的《小幸运》,记得第一次听这首歌的时候还是2015年,那时你还没有离开我,可能你的精神已经...
    兔兔纸阅读 1,237评论 60 27

友情链接更多精彩内容