__之前写过关于UITextView显示文档翻页的笔记,最近一直在做这方面的功能。之前实现功能的思路是,textView中直接放入所有需要显示的内容,通过修改textView的contentOffset属性,实现翻页功能。存在的问题是:1、textView是可以滑动,这是不满足需求的。2、显示的页面不友好,最后一行的字会有显示不完整的情况。
__目前的解决方案是:自定义一个textView,增加content,currentPage,totalPage等属性,点击上下翻页的回调方法。给content赋值后,估算出content字符串以textView的宽为宽的高度,并且除以textView的高,得到一个总页数的估计值。用content.length除以总页数,计算出一页大约显示多少个字符。在content中截取一样的字符个数,以textView的宽为宽估算出高度,判断这个高度是否大于textview的高,如果小于把截取的字符串赋值给textView.text。否则就把估算一个页面显示字符数的数字做减小调整,直至计算出来的高度小于textView为止。通过截取对应的字符串实现翻页功能。
按照解决方案实现了一下,发现还是有一些细节问题需要调整。
网友评论