转自 http://shijue.me/show_text/521c396a8ddf876566000007
在手持式行动装置中,被限制住的显示屏幕空间,使得我们必须花费更多的时间与功夫来处理文字内容的安排,舒适的行距、间距以及字号,这些需要不断调整的细节,会大大影响内容的阅读性与程序的使用性。
在简单介绍 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:
搭配这些属性,我们就可以快速又简单的实作一些精美的段落显示,设计师在充分了解了在文字排版你拥有哪些可利用的武器后,在设计时间就可以更精准的规划策略,减少设计与实作之间的差距。
相关推荐
iOS段落排版~整合多種排版方式供參考NSTextAlignmentJustified, firstLineHeadIndent, headIndent, lineHeightMultiple, NSFontAttributeName,有圖解
此外,iOS的文字处理软件通常还具有智能化的功能,如自动格式化和排版。它们可以根据原文的布局,尽可能地保留段落、标题等格式,使得转换后的文字更易于阅读。还有一些高级特性,如表格识别、公式识别,甚至对手写...
CTParagraphStyle是CoreText框架中一个非常重要的类,它提供了丰富的文本段落排版选项,能够满足开发者在iOS平台上实现复杂文本布局的需求。通过合理使用CTParagraphStyle及其属性,开发者能够灵活地控制文本的显示...
标题"ios-文字两头对齐.zip"表明这是一个与iOS平台相关的资源包,专门处理文本两端对齐的问题。这个压缩包可能是包含代码示例、UI组件或者自定义控件的解决方案,用于快速集成到iOS项目中,使得开发者可以轻松实现...
- 文本属性:可以设置文字颜色、字体、对齐方式、行间距、段落间距等。 - 高亮和链接:通过添加属性到NSAttributedString实现特定文本的高亮或点击事件。 - 属性串操作:利用CFAttributedStringRef进行属性文本的...
在iOS开发中,富文本(NSAttributedString)是一种强大的工具,它允许开发者在文本中混合不同的样式,如颜色、字体、大小等,以实现丰富的文本显示效果。这个“ios-常用的富文本.zip”压缩包可能包含了一个名为...
《iOS中的UICoreTextView与CoreText文字渲染技术详解》 在iOS开发中,文本显示是界面设计不可或缺的一部分。为了实现高效且美观的文字渲染,Apple提供了CoreText框架,该框架为开发者提供了底层的文本处理能力。...
1. **富文本支持**:TTTAttributedLabel可以处理NSAttributedString对象,允许你在同一段文字中设置不同的字体、大小、颜色、行距等属性,甚至可以插入图像或自定义的图形元素。 2. **链接处理**:与UILabel不同,...
这个名为"IOS应用源码之【类库与框架】Core Text Objective-C Wrapper.rar"的压缩包文件,显然是一个针对Core Text框架的Objective-C封装库,方便开发者更高效、更便捷地在iOS应用中处理文本。 Core Text是Apple...
总的来说,iOS的富文本处理是一个涉及多个层面的概念,从简单的样式设置到复杂的排版布局,都需要开发者有一定的理解。这个“ios-富文本.zip”资源可能包含了关于如何在iOS应用中实现和控制富文本的详细教程、示例...
这是一款很不错的ios文字编辑器功能源码,该功能是十分强大的文字编辑器,几乎拥有了所有常见的文字编辑功能,基本相当于一个Page/Word文档编辑器了!文字编辑工具全部放在键盘的toolbar上。十分出色的Demo!具体...
8. **手势识别与交互**:在富文本编辑器中,手势识别是非常重要的,比如选中文本、拖动段落、缩放字体等。这些可以通过`UIGestureRecognizer`来实现。 9. **性能优化**:当处理大量富文本时,性能是个关键问题。...
4. **界面排版**:确保界面整洁,避免文字堆砌,可以使用`NSTextContainer`和`NSLayoutManager`来控制文本的布局。通过调整行间距、字间距以及段落样式,可以使得包含@#链接的文本看起来更加有序和易读。此外,利用...
通过初始化一个`NSAttributedString`实例,我们可以指定字符串以及与之关联的属性字典,其中键值对表示了各种文本属性。 例如,设置一段文本的字体和颜色可以这样写: ```swift let attributedString = ...
本项目利用YYText这个强大的第三方库,实现了图文混排的功能,允许用户自由编辑文字和图片,并将排版后的数据以字典形式提交给服务器。 首先,YYText是由YYKit框架提供的一部分,YYKit是iOS平台上一个非常全面的...
6. **富文本与CoreText**: CoreText是iOS中的底层文本渲染框架,可用于更复杂的文本布局和排版。当`NSAttributedString`无法满足需求时,可以通过CoreText进行自定义绘制。 7. **富文本与Markdown**: 有时候,...
3. **文本属性设置**: CoreText支持通过NSAttributedString来设置文本属性,如字体、颜色、下划线样式等。通过创建NSAttributedString并添加NSFontAttribute、NSForegroundColorAttribute等键值对,我们可以为不同...
在iOS开发中,我们常常需要在应用程序中展示丰富多样的文本内容,包括字体、颜色、链接、图片等元素。对于这些需求,苹果的默认控件如UILabel和UITextView往往无法满足。这时,第三方库DTCoreText便应运而生,它为...
3. **自定义排版**:支持自定义行间距、段落间距,以及首行缩进等排版效果。 4. **图像嵌入**:可以在文本中嵌入图像,实现图文混排。 5. **KVO(Key-Value Observing)支持**:可以监听文本、字体、颜色等属性的...