OC文本高度计算不准确

2019-01-16  本文已影响24人  CYC666

问题:有时候计算文字的时候大小和实际的大小不一样?

解决办法1:检测字体和限制的宽度是否设置正确(楼主载在这里/(ㄒoㄒ)/~~)

解决办法2:可以设置NSStringDrawingOptions options = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;

(注意:swift中要写这样的组合是不支持的,点击这里查看解决方法www.jianshu.com/p/545f7f1d8741)

解决办法3:当你是把获得的高度来布局控件的View的高度的时候,需要把获得size = [string boundingRectWithSize:CGSizeMake(getScreenWidth(), CGFLOAT_MAX) options:options context:nil].size转化为ceilf(size.height)。

解决办法4:由于这个方法计算字符串的大小的通过取得字符串的size来计算, 如果你计算的字符串中包含\n\r 这样的字符,也只会把它当成字符来计算。但是在显示的时候就是\n是转义字符,那么显示的计算的高度就不一样了,所以可以采用:计算的高度 = boundingRectWithSize计算出来的高度 + \n\r转义字符出现的个数 * 单行文本的高度。

上一篇下一篇

猜你喜欢

热点阅读