Ios 如何在绘制元素之前获取其高度';展示什么?目标-C
我正在尝试调整UITableViewCell的高度 “我的单元格”包含另一个视图,此视图将绘制文本并显示在单元格中 但是,文本高度可能会有所不同,我只能在调用drawRect(在嵌入的子视图中)后才能计算出来Ios 如何在绘制元素之前获取其高度';展示什么?目标-C,ios,objective-c,xcode,Ios,Objective C,Xcode,我正在尝试调整UITableViewCell的高度 “我的单元格”包含另一个视图,此视图将绘制文本并显示在单元格中 但是,文本高度可能会有所不同,我只能在调用drawRect(在嵌入的子视图中)后才能计算出来 在显示视图之前,有没有办法计算出视图的高度?只要您知道字体、绘制文本的视图的宽度以及必要时的换行模式,就可以使用以下任一方式: sizeWithFont: sizeWithFont:constrainedToSize: sizeWithFont:constrainedToSize:line
在显示视图之前,有没有办法计算出视图的高度?只要您知道字体、绘制文本的视图的宽度以及必要时的换行模式,就可以使用以下任一方式:
sizeWithFont:
sizeWithFont:constrainedToSize:
sizeWithFont:constrainedToSize:lineBreakMode:
最后我找到了方法,我想这不是最好的方法,但它很有效
我实现了一个方法,再次绘制所有内容,并立即返回绘制文本的高度。现在实际上我必须画两次文本,一次是为了得到它的高度,另一次是为了在屏幕上显示它 实际上它不是一个字符串,文本是用CGraphics绘制的。不管怎样,它仍然是您正在绘制的文本,所说的文本将是一个字符串。此外,还指出了绘制字符串的不同方法,答案非常有用。我使用一个以复杂方式绘制文本的库来支持ios上的自定义字体(ios似乎忽略了某些语言的自定义字体)。所以这个解决方案在我的情况下不起作用。我通过两次绘制相同的文本解决了这个问题,一次是为了获得高度,另一次是为了在屏幕上显示。我接受了你的回答,我希望我能投赞成票(因为我是新来的,所以声望很低)。