iOS 文字左右对齐与符号不单独占据一行

iOS 在富文本排版时碰到问题:

  1. 使用单词对齐时,右侧可能出现一个字以上的空白区域,如图1:
  2. 使用字符对齐时,右侧空白区域在一个字符,但有可能标点单独占据一行,如图2:

希望效果:

  1. 文字左右对齐
  2. 符号不要单独占据一行
图1_单词对齐.png
图2_使用字符对齐.png

解决方案:

  1. 两端对齐:一行代码解决
    网上很少讲到NSTextAlignmentJustified,大多在讲NSTextAlignmentNatural。
    NSTextAlignmentJustified:保持文字左右对齐,最后一行保持做对齐,但字间距稍有差异,如果仅展示中文和标点符号,效果不错。
    NSTextAlignmentNatural:默认对齐。
NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.alignment = NSTextAlignmentJustified;//两端对齐
  1. 下面看下几种方式的效果图:
两端对齐
字符换行、两端对齐
单词换行、两端对齐

结论:

  1. 两端对齐、单词换行和两端对齐的组合都能符合要求
  2. 字符换行会导致标点单独占据一行,即使使用了组合也不行

下载demo,搜索RichTextComposingViewController类。

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

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,808评论 0 10
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,068评论 0 0
  • 一,HTML语言的一般语法: 1,围堵标记:<>… 1)带属性的标记: … 2)无属性的标记:加粗 居中 标题 2...
    清水易蓝阅读 1,284评论 0 2
  • 转自链接 目录 1.认识NPOI 2.使用NPOI生成xls文件 2.1创建基本内容 2.1.1创建Workboo...
    腿毛裤阅读 10,685评论 1 3
  • 不管学习还是瑜伽练习还是工作,总不会一直保持高昂的斗志,不会一直稳步前进给自己惊喜,就像有句文艺范的话说,日子总会...
    大眼瑜阅读 743评论 1 7