iOS 段落文字排版的属性与细节

 iOS 段落文字排版的属性与细节

 iOS 6 之后,iOS 的文字显示组件中提供了一个可以调整文字细节属性的NSAttributedString 类别,可以针对文字内容的全部与部份区域改变显示的方式,可套用在组件 UILabel 与 UITextView,以下为常用的属性:

段落排版


段落排版的属性(NSParagraphStyleAttributeName)是 NSAttributedString中最重要也是具有文章显示需求的服务所一定会用到的功能,可调整的细节有:


1. 对齐

向左对齐、置中对齐、向右对齐是最基本的对齐方式,除此之外还支持两端对齐(NSTextAlignmentJustified)以及根据显示的文字特性对齐(NSTextAlignmentNatural)。


2. 段落开头缩排

可以透过 firstLineHeadIndent 指定段落开始的缩排像素。


3. 缩排

透过 headIndent 可调整全部文字的缩排距离,可当作左边 padding 使用。

而透过 tailIndent 可调整文字尾端的缩排距离。需要注意的是,这里指定的值可以当作文字显示的宽、而也可当作右边 padding 使用,依据输入的正负值而定:

4. 行距

想要调整行距,可以透过搭配使用 lineHeightMultiple 更改行距倍数:

或是 lineSpacing 来增加行距:

而针对不同的字型与字号,我们可以透过指定最大与最小行距(maximumLineHeight 与 minimumLineHeight)来避免过高或过窄的状况发生。

5. 段落行距

而若是文章内容有分段落的话,也可以透过指定段落结尾距离(paragraphSpacing)以及段落开头距离(paragraphSpacingBefore):

字符间距

想要拉开字符间的距离的话,则可以指定 NSKernAttributeName 属性来调整:

字型

如果需要在部分文字中替换不同的字型与字号,则可以透过NSFontAttributeName 属性来更改部分区域的文字:

颜色与视觉风格

除了文本块本身的背景颜色,也可以透过 NSBackgroundColorAttributeName 以及NSForegroundColorAttributeName 个别修改文字部分的背景以及文字颜色(如强调段落开头的第一个字):

而个别修改阴影与文字外框也同样有支持,可使用 NSStrokeColorAttributeName、NSStrokeWidthAttributeName以及 NSShadowAttributeName 达成:

底线与删除线

若需要底线与删除线,可以指定 NSUnderlineStyleAttributeName 与NSStrikethroughStyleAttributeName:

搭配这些属性,我们就可以快速又简单的实作一些精美的段落显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值