Text Programming Guide for iOS 文档第一章About Text Handling in iOS
原文链接
以下文本中的超链接多直接到达苹果官方文档。
关于 iOS 中的文本处理
iOS 平台为您的应用程序提供了多种显示文本和让用户编辑文本的方法。它还允许您在应用程序的视图中显示格式化文本和网页内容。您可以利用的资源范围从框架对象(如文本视图、文本字段和网页视图)到文本布局引擎,您可以直接使用它们来绘制、布局和管理文本。
使用UIKit框架中的类,您可以管理编辑菜单(包括向其中添加自定义项),实现自定义输入视图,以及在应用程序内和应用程序之间复制、剪切和粘贴数据。
注:本文档以前的标题为《iOS版文本、网络和编辑编程指南》。
At a Glance
iOS中的应用程序有许多强大的技术来处理文本,包括编辑文本和呈现高质量的排版格式文本。
UIKit框架为你的应用程序提供文本和Web对象
你可以通过使用UITextView, UITextField和UILabel的实例来添加现成的文本视图,文本字段和标签到你的应用程序的用户界面。您可以通过编程方式或使用Xcode中的Interface Builder编辑器添加和配置它们。你也可以把你的应用程序视图变成一个能够理解和显示HTML、CSS和JavaScript内容的微型web浏览器。
相关章节:Displaying Text Content in iOS, Typographical Concepts, Managing Text Fields and Text Views
当用户编辑文本时,你的应用程序必须管理键盘
当用户点击文本视图、文本字段或web视图中的表单字段时,iOS会将弹出键盘。一个应用程序可以控制显示哪个键盘;例如,对于数字,应用程序应该选择数字键盘。如果输入或编辑的文本被键盘遮挡,应用程序应该调整显示文本的视图,使文本显示在键盘上方。Text view, Text field, or Web view的Delegate负责验证编辑过的文本,并在用户关闭键盘时访问和存储编辑过的文本。
你的应用程序可以直接绘制和管理文本
UIKit中的文本视图底层是一个强大的布局引擎,叫Text Kit。如果您需要自定义布局过程或需要干预该行为,则可以使用文本工具包。Text Kit是一组提供高质量排版服务的类和协议,它使应用程序能够存储、布局和显示具有良好排版的所有特征的文本,例如字距、连字符、断行和对齐。
对于大多数应用程序,你可以使用高级文本显示类和Text Kit来处理所有的文本。对于需要自定义解决方案的少量文本和特殊需求,您可以使用替代的底层技术,例如来自Core Text,Core Graphics和Core Animation框架的编程接口以及UIKit本身的其他API。
为了与iOS的文本输入系统直接通信,需要实现UITextInput协议以及相关的协议和类。你的应用还可以利用拼写检查和正则表达式技术。
相关章节:Using Text Kit to Draw and Manage Text, Lower Level Text-Handling Technologies
你的应用程序有一系列输入和编辑数据的选项
UIKit框架包括编程接口,用于编辑视图中的数据和将数据输入到应用程序中。自定义input views可以取代系统键盘,以允许输入特殊数据;input accessory views是系统键盘上方的自定义视图(或自定义输入视图),使用户能够以特定于应用程序的方式影响编辑的数据。使用UIPasteboard和相关类,应用程序可以复制,剪切和粘贴数据在自己的不同位置或自己和另一个应用程序之间。作为复制-剪切-粘贴操作的一部分,用户点击上下文编辑菜单上的命令;你的应用程序管理这个菜单,并可以添加自定义命令。
相关章节:Copy, Cut, and Paste Operations, Displaying and Managing the Edit Menu, Custom Views for Data Input
另请参阅
核心图形和核心动画框架有一些文本处理能力。例如,Core Animation提供了CATextLayer类。要了解有关这些功能的更多信息,请阅读Quartz 2D Programming Guide(Core Graphics)和Core Animation Programming Guide.
要了解更多关于Core Text框架的信息,它适用于开发高级文本处理框架,请阅读Core Text Programming Guide和Core Text Reference Collection。