使用sizeWithAttribute获取UITextView的确切大小

桑乔桑切斯

我有一个UISlider会更改的字体大小UITextView在更改字体大小之前,我想检查一下我的高度UITextView是否低于其视图容器的高度。问题在于,对于相同的字体大小sizeToFitsizeWithAttribute它们返回的高度不同。

为此,我试图UITextView使用自定义fontSize来获取高度,但是我无法找到一种方法来实现,并且不理解为什么我这样做时无法得到相同的高度:

self.photoDescription.text = @"Test"
self.photoDescription.font = [self.photoDescription.font fontWithSize:18];
[self.photoDescription sizeToFit];
NSLog(@"real height %f", self.photoDescription.frame.size.height); 
//getting : 37.5

和:

NSLog(@"calculated height %f", [self.photoDescription.text sizeWithAttributes:@{NSFontAttributeName:[self.photoDescription.font fontWithSize:18]}].height);
//getting: 20.97

同样的事情:

CGRect textRect = [self.photoDescription.text boundingRectWithSize:CGSizeMake(320, 300)
                                             options:NSStringDrawingUsesLineFragmentOrigin
                                          attributes:@{NSFontAttributeName:[self.photoDescription.font fontWithSize:18]}
                                             context:nil];

CGSize size = textRect.size;
NSLog(@"height %f", size.height);
// getting : 20.97

有什么想法吗?

桑乔桑切斯

我终于找到了约旦·蒙特尔解决方案的答案:iOS7 UITextView contentsize.height替代

我用他的函数来获取宽度:

- (CGFloat)textViewHeightForAttributedText:(NSAttributedString *)text andWidth:(CGFloat)width
{
    UITextView *textView = [[UITextView alloc] init];
    [textView setAttributedText:text];
    CGSize size = [textView sizeThatFits:CGSizeMake(width, FLT_MAX)];
    return size.height;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Sharp获取调整大小后的图像的确切尺寸

来自分类Dev

如何使用jquery / javascript获取div的确切位置

来自分类Dev

使用div类获取div的确切位置

来自分类Dev

获取div的确切位置

来自分类Dev

无法获取网址的确切来源

来自分类Dev

无法获取参数的确切值

来自分类Dev

使用跳舞链接的确切封面

来自分类Dev

使用动态内存分配设置char数组的确切大小

来自分类Dev

如何确定ETS表的确切内存大小?

来自分类Dev

如何使图像适合<td>并保持<td>的确切大小

来自分类Dev

如何设置内联SVG元素的确切大小?

来自分类Dev

Chrome DevTools-传输数据的确切大小

来自分类Dev

如何设置内联SVG元素的确切大小?

来自分类Dev

如何获取在Android Google Map中使用经度和纬度设置的确切视图

来自分类Dev

使用Realm + Okhttp时无法获取崩溃的确切原因

来自分类Dev

如何使用F#获取到“我的文档”的确切路径

来自分类Dev

在哪里可以获取DocuementDB集群的确切使用的存储空间

来自分类Dev

如何使用JSoup或HttpConnection获取响应的确切状态代码?

来自分类Dev

使用不提供预期结果的DATEDIFF()获取特定月份之间的确切天数

来自分类Dev

使用Realm + Okhttp时无法获取崩溃的确切原因

来自分类Dev

在 Angular 网站中,使用 Selenium 和 Python 获取 <div> 标签内的确切文本?

来自分类Dev

在UITableviewcell中获取UIButton的确切位置

来自分类Dev

如何获取Lua中加载的脚本的确切路径?

来自分类Dev

获取其父元素的确切子元素。jQuery的

来自分类Dev

选中后获取列表视图项的确切位置

来自分类Dev

获取表之间的确切空间数量

来自分类Dev

获取明年SQL Server的确切日期

来自分类Dev

使用git show时,“:”的确切含义是什么?

来自分类Dev

Android中使用的确切内存模型是什么?

Related 相关文章

  1. 1

    使用Sharp获取调整大小后的图像的确切尺寸

  2. 2

    如何使用jquery / javascript获取div的确切位置

  3. 3

    使用div类获取div的确切位置

  4. 4

    获取div的确切位置

  5. 5

    无法获取网址的确切来源

  6. 6

    无法获取参数的确切值

  7. 7

    使用跳舞链接的确切封面

  8. 8

    使用动态内存分配设置char数组的确切大小

  9. 9

    如何确定ETS表的确切内存大小?

  10. 10

    如何使图像适合<td>并保持<td>的确切大小

  11. 11

    如何设置内联SVG元素的确切大小?

  12. 12

    Chrome DevTools-传输数据的确切大小

  13. 13

    如何设置内联SVG元素的确切大小?

  14. 14

    如何获取在Android Google Map中使用经度和纬度设置的确切视图

  15. 15

    使用Realm + Okhttp时无法获取崩溃的确切原因

  16. 16

    如何使用F#获取到“我的文档”的确切路径

  17. 17

    在哪里可以获取DocuementDB集群的确切使用的存储空间

  18. 18

    如何使用JSoup或HttpConnection获取响应的确切状态代码?

  19. 19

    使用不提供预期结果的DATEDIFF()获取特定月份之间的确切天数

  20. 20

    使用Realm + Okhttp时无法获取崩溃的确切原因

  21. 21

    在 Angular 网站中,使用 Selenium 和 Python 获取 <div> 标签内的确切文本?

  22. 22

    在UITableviewcell中获取UIButton的确切位置

  23. 23

    如何获取Lua中加载的脚本的确切路径?

  24. 24

    获取其父元素的确切子元素。jQuery的

  25. 25

    选中后获取列表视图项的确切位置

  26. 26

    获取表之间的确切空间数量

  27. 27

    获取明年SQL Server的确切日期

  28. 28

    使用git show时,“:”的确切含义是什么?

  29. 29

    Android中使用的确切内存模型是什么?

热门标签

归档