来源:About Text Handling in iOS 官方文档

iOS平台为我们提供了许多在app中展示文本和让用户编辑文本的方式。同时,它也允许你在app视图中展示格式化的文本和网页内容。你可以使用已有框架中的对象,比如text views,text fields ,web views等文本布局框架直接绘制,布局或者管理文本。

通过UIKit框架中的类,你可以管理编辑菜单(包括增加自定义项目item),实现自定义输入键盘以及在app内部或者app与app之间复制、剪切、粘贴数据。

注意: 这份文档之前的标题是:“Text, Web, and Editing Programming Guide for iOS”.

At a Glance 总览

iOS中的应用程序拥有非常牛逼的技术帮助你操作文本,包括编辑文本、渲染高质量的排版格式文本

UIKit框架为你的app提供了关于文本及网页的对象

1、 可以通过使用UITextView,UITextField,UILabel的实例为你的app用户界面添加预置的text views,text fields,labels。

2、 可以通过代码或者使用Xcode自带的Interface Builder添加和配置它们。

3、 可以将视图变成一个可以解析并且展示HTML,CSS和javaScript内容的微小网页浏览器,这一步可以通过UIWebView对象实现

相关内容:“Displaying Text Content in iOS” "Typographical Concepts" "Managing Text Fields and Text Views" "Displaying Web Content"

当用户编辑文本的时候,你的app必须做键盘处理

1、当用户点击了一个text field,text view或者网页中的form field,iOS将会通过动画弹出一个键盘。

2、app应该能够控制弹出键盘的类型,比如,对于一个只能输入数字的文本框,app应该选择数字键盘。

3、如果获取焦点的文本被键盘遮住了,app应该调整展示文本的视图以保证文本不被键盘挡住。当用户关闭键盘时,text view,text field或者网页视图的代理负责确认编辑后的文本以及访问、保存编辑文本内容。

相关内容:“Managing the Keyboard”

你的app可以直接绘制和管理文本

1、UIKit中 text views 是建立在一个强大的排版引擎 Text Kit 之上的。如果你想要自定义text的排版方法或者想要改变原来的布局方式,你可以使用 Text Kit。 Text Kit是一系列类和协议的集合,它提供了高质量的排版服务,允许app通过诸如调整字距、连字、换行等细致的排版功能来保存,编排,展示文本。

2、对于大多数app来说,你可以使用高水平的文本显示类和Text Kit来操作它们的文本。对于少数的文本和有特殊需求自定义的情形,你可以使用可混编的、底层的技术,比如Core Text,Core Animation框架等UIKit中其它API的程序接口程序。

3、实现UITextInput ptotocol和 和相关的协议和类,可以直接和iOS的文本输入系统进行交互。你的app也可以使用拼写检查和正则表达式等技术。

相关内容:“Using Text Kit to Draw and Manage Text”, "Lower Level Text-handling Technologies"

你的app有关于输入和编辑数据的一系列选项

UIKit框架包含了用于编辑视图中数据和输入数据的程序接口。自定义输入视图可以替换系统键盘从而达到输入一些特殊数据的目的(比如表情~);输入辅助视图是系统键盘(也可能是自定义的输入视图)上面允许用户通过app指定的方式影响编辑数据结果的视图。使用UIPastboard和相关的类,app可以在自身内部或者与其它app之间copy、cut、paste数据。用户点击与上下文有关的编辑菜单命令,可以实现copy-cut-paste等操作;你的app可以管理这个菜单,也可以添加自定义命令。

相关内容:“Copy, Cut, and Paste Operations,” "Displaying and Managing the Edit Menu," "Custom Views for Data Input"

了解更多,请参照 Core Text Programming Guide 和 Core Text Reference Collection.

备注:以上内容为本人翻译自官方文档,难免有不确切之处,仅供参考。来自@bbqe

关于ios中的文本操作-简介的更多相关文章

  1. 关于iOS中的文本操作-管理text fields 和 text views

    Managing Text Fields and Text Views 管理UITextField和UITextView实例 UITextField和UITextView的实例拥有两个最主要的功能:展 ...

  2. 如何让IOS中的文本实现3D效果

    本转载至 http://bbs.aliyun.com/read/181991.html?spm=5176.7114037.1996646101.25.p0So7c&pos=9       zh ...

  3. iOS 中SQLite数据库操作

    在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...

  4. iOS中@class #import #include 简介

    [转载自:http://blog.csdn.net/chengwuli125/article/details/9705315] 一.解析        很多刚开始学习iOS开发的同学可能在看别人的代码 ...

  5. QF——iOS中的数据库操作:SQLite数据库,第三方封装库FMDB,CoreData

    SQLite数据库: SQLite是轻量级的数据库,适合应用在移动设备和小型设备上,它的优点是轻量,可移植性强.但它的缺点是它的API是用C写的,不是面向对象的.整体来说,操作起来比较麻烦.所以,一般 ...

  6. python中的文本操作

    python如何进行文本操作 1.能调用方法的一定是对象,比如数值.字符串.列表.元组.字典,甚至文件也是对象,Python中一切皆为对象. str1 = 'hello' str2 = 'world' ...

  7. [转] iOS中@class #import #include 简介

    [转载自:http://blog.csdn.net/chengwuli125/article/details/9705315] 一.解析        很多刚开始学习iOS开发的同学可能在看别人的代码 ...

  8. iOS中textbox文本框清除圆角

    在iOS.Mac safari中,所有的textbox, select, checkbox都会被强制美化为圆角.但在特殊情况下需要清除圆角时发现iOS中使用以下传统的css无效: border-rad ...

  9. iOS中 UITextView文本视图 技术分享

    UITextView: 文本视图相比与UITextField直观的区别就是UITextView可以输入多行文字并且可以滚动显示浏览全文. UITextField的用处多,UITextView的用法也不 ...

随机推荐

  1. python常错: join() 方法

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence) 参数 sequence -- 要连接的 ...

  2. ie8中支持 password 的 placeholder

    之前写过一篇 ie8中使用placeholder 的博客,但是,该文中的 placeholder 在 type="password" 时会出现问题,不能显示文字而是密码类型的点,所 ...

  3. 【OSG细节实现】节点围绕位于axisPos平行于axis的轴进行旋转

    //绕着与axis平行的任意轴旋转 void rotate(const std::string& name, float angle, osg::Vec3 axisPos, osg::Vec3 ...

  4. java和javascript中this区别的浅探讨

    今天在学习javascript的时候碰到了this,感觉它跟java里的有点不一样.然后上网查了一下,参考了这篇文章,JavaScript中this关键字详解,发现它们之间的区别主要是这样: java ...

  5. 开始ubuntu 14.04 的装X模式---终端模式下中文输入,听歌,上irc 开启framebuffer看电影 截图

    先上图吧 卡卡的全是在tty1 下的操作,看电影,听歌,截图 ,看图  ,上irc 等等,相当适合在小白面前装屁! 需要安装的软件: 为了能正常显示中文:安装fbterm sudo apt-get i ...

  6. jQuery学习-----(二)JQuery对象与DOM对象的区别与转换

    1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj = ...

  7. jQuery Mobile 开发中常见的问题

    目录 页面缩放显示问题 页面跳转后样式丢失js失效 跳转时重复调用pageinit方法的解决办法 如何调用loading效果   1页面缩放显示问题 问题描述: 页面似乎被缩小了,屏幕太宽了. 解决办 ...

  8. Coolpy使用教程

    ---恢复内容开始--- Coolpy使用教程 1.硬件:arduino+ Ethernet Shield w5100 2.下载硬件rom,然后将rom烧进arduino. (下载地址)http:// ...

  9. Ubuntu下设置Tomcat成为服务(开机启动)

    1.将tomcat安装目录下bin文件夹中的catalina.sh拷贝到/etc/init.d下并修改名称为tomcat cp  /path/to/tomcat/bin/catalina.sh /et ...

  10. 自定义视图(继承View)

    前言 Android提供了丰富的控件,但是有时候还是不能满足自己的需求,这时候就需要自定义视图了,自定义视图分为几种,一种为继承为View的,一种为继承于ViewGroup的.继承于View的需要我们 ...