zoukankan      html  css  js  c++  java
  • 关于UITextView的一些问题

    运行环境是,XCODE5.02,iOS7.0

    这几天写的项目中有个分页的属性,问题一堆堆的,获得文本,然后分页,进行阅读,于是开始各种找相关内容

    最初设想是UITextView的contentOffset改变来截图,结果未果

    原因主要由2个

    1.UITextView的contentOffset用来设定时,给予其值,但它实际未必会跑到指定的地方,所以,经常是比指定的值的一半都要少,设定一个很大的数也不行。。。不准确。

    也试过将UITextView贴在ScrollView上,ScrollView的contentOffset设定的很准确,没有问题!

    让我想起了一个关于UITextView的类目,不知道会不会好点。没试,改天遇到在试

    - (id)styleString {

        return [[superstyleString] stringByAppendingString:@"; line-height: 1.8em"];

    }

    2.就是UITextView的截图问题,这个问题,困扰我也是很久,找了半天。起因是因为上面的方法有问题,转而去拆分文本,放入数组,一次次给,然后一次次截图,结果问题出来了,因为给的文本刚好是一个屏幕的,用UITextView的layer做为截图视图,就回发现,截图图片全都是只有不到一半有文字,想过过很多原因,比如给个足够大得contentSize,

    更改截图尺寸都不行!

    最后发现当我给的文本占UITextView的高的3倍高度时,所截图的文本会铺满。。。

    另外在计算文本尺寸的时候用到的方法是

    CGSize totalTextSize = [text boundingRectWithSize:size

                                                  options:NSStringDrawingUsesLineFragmentOrigin

                                               attributes:dic

                                                  context:nil].size;

    这个传入的dic是文本的一些属性,具体可以参考http://shijue.me/show_text/521c396a8ddf876566000007

    这里也遇到一个很奇怪的问题,,我是这样定义的一个dic

    UIFont *helveticaBold =

        [UIFontfontWithName:@"HelveticaNeue-Bold"size:12.0f];

        NSDictionary *dic=[NSDictionarydictionaryWithObjectsAndKeys:helveticaBold,NSFontAttributeName,[UIColorblueColor],NSForegroundColorAttributeName,[UIColorblackColor],NSStrokeColorAttributeName, nil];

    这样就能获得一个相对准确的高度,但是当我不给NSStrokeColorAttributeName属性时,问题出现了,返回的尺寸的高度一直都是比视图高度小那么一点点的高度,也就是一页就能完全装得下所有文字,可是前面已经设置过字体类型和大小了,以那个大小来说一页根本就装不了,难道不设定NSStrokeColorAttributeName这个属性,其他设定的无效?

    暂且只能这么下定论了。

     

    最后实在是折腾的不行了,跳出死结,使用了UILabel,用字数分页解决了所有问题,没有以上说的2种问题。

     

     

  • 相关阅读:
    2021年2月4号
    2021年2月3号
    2021年2月2号
    2021年2月1日
    2021年1月31日
    2021年1月30日
    20171205xlVBA往返航班组合
    选择文件
    从VBA过渡到Python
    20171114xlVba选定单行记录并打印
  • 原文地址:https://www.cnblogs.com/lingzhiguiji/p/3539120.html
Copyright © 2011-2022 走看看