iOS学习纪事——使用Text Kit时UITextView不能选择文字的问题

 

之前在做一个简单的阅读器练习,主要是想学习一下iOS7中新增的Text Kit框架。但在练习过程中发现,UITextView中的文字不能选择,不管是长按还是双击,都不出现放大镜或编辑菜单。

 

经过多种尝试无果,并在网上寻找提问也没能得到解答。一番折腾之后,问题的关键所在算是渐渐清晰了,虽然现在仍然没有找到解决方案。

 

下面是Text Kit的几种使用模型,其中一种就会导致我上面所说的问题。Text Kit中包含NSTextStorage、NSLayoutManager、NSTextContainer三个类,一个NSTextStorage可以有一个或多个NSLayoutManager,一个NSLayoutManager可以有一个或多个NSTextContainer,而一个NSTextContainer必须对应一个UITextView。因此几种模型如下:

 

 

 

问题就出在第三种模型,即一个NSLayoutManager拥有多个NSTextContainer,其它两种情况都正常。我也不敢妄自揣测这是一个bug还是Apple就这样设计的还是其它什么原因……

这里是我写的三种情况的示例代码。

 

PS. 第三种情况中的自动分页功能需要将TextView的scrollEnabled属性设置为NO。

posted @ 2014-02-25 23:52  Sinkup  阅读(1308)  评论(0)    收藏  举报