我正在尝试计算受UITextView约束的文本的高度,但它似乎没有返回正确的结果。
这是我的代码:
- (void)textViewDidChange:(UITextView *)aTextView {
CGSize textSize = [aTextView.text sizeWithFont:aTextView.font constrainedToSize:aTextView.frame.size lineBreakMode:UILineBreakModeWordWrap];
counter.text = [NSString stringWithFormat:@"%f", textSize.height];
}
您可以下载the sample project and a short screencast that illustrates the problem (418 KB)。
总之,问题是当我在一行的末尾键入一个长单词时,单词会移动到下一行,但是当它发生时,字符串的高度没有正确调整。
任何帮助表示感谢。
最佳,
托马斯。
P.S。 :它发生在iPhone SDK 3.1.3
上答案 0 :(得分:5)
问题是UITextField在它实际绘制和包装文本的区域周围有一个小的边距。据我所知,没有编程方法来获得这个大小,但只是从大小中减去6左右会使它表现得恰到好处。