目标是格式化和显示文本,就像iBooks样式页面一样。
为此,我采用UIPageViewController
,指定所需动画的过渡并生成UIViewController
集合等。
为了显示文字,我将UITextView
放入每个UIViewController
集合中。
为了自动分割页面文本,我已经使用以下方法制作了自己的程序:
[NSString sizeWithFont:...]
。
感谢您提供的信息 - How does the iBooks App format the text on separate pages?
一切正常,但不如我希望的那么好。 NSString
不是很方便,UITextView
显示没有良好格式的文字。分裂也不太好=)
此外,我尝试与Core Text
分开。
这种方法在这里显示 - How to split long NSString into pages
它甚至有效。 Core Text
分裂得很好,它有许多其他好的功能。但!我无法将核心文本文本拆分的值与UITextView
一起使用。要显示由核心文本页面拆分,我必须使用Core Text
技术。
问题是:如何创建CTFrame
并为UIViewController
的每个UIPageController
集合添加/绘制它?
我怀疑这是不可能的。如果是这样,请提出任何想法以实现所需的功能。
请原谅我的问题,我是iOS编程新手。
答案 0 :(得分:0)
我还没有这样做,但在我看来,你可以从CTFrame获得合适的字符串范围。
CTFrameRef ctFrameRef = // get this from CTFrameSetter
CFRange cfRange = CTFrameGetVisibleStringRange(ctFrameRef);
NSRange range = NSMakeRange(cfRange.location, cfRange.length);
然后可以使用范围来分割原始字符串。