我需要计算 UItextview 的高度。但是具有换行符(\n) 字符的文本视图意味着,它的计算不正确。前任 :
测试\n Lorem Ipsum 只是\n印刷和排版行业的虚拟文本\n
如何用换行符测量 UITextView 内容高度?
我需要计算 UItextview 的高度。但是具有换行符(\n) 字符的文本视图意味着,它的计算不正确。前任 :
测试\n Lorem Ipsum 只是\n印刷和排版行业的虚拟文本\n
如何用换行符测量 UITextView 内容高度?
只需使用以下代码可能会对您有所帮助。
NSString *strtest =@"Test \n Lorem Ipsum is simply \n dummy text of the printing \n and typesetting industry";
yourtextView.text = strtest;
CGRect framefortext = _textView.frame;
framefortext.size.height = yourtextView.contentSize.height;
yourtextView.frame = framefortext;
我正在使用此代码来查找和设置标签的确切高度,希望它对你也有帮助
[label setNumberOfLines:0];
[label sizeToFit];
int heightofbottom = label.frame.size.height;
NSLog(@"%d",heightofbottom);
您可以使用NSString 的componentsSeparatedBy:
方法和sizeWithFont:
方法。
使用 sizeWithFont 方法获取所有组件的大小,然后汇总所有高度 - 这将是结果高度,并选择最大宽度 - 这将是结果宽度。
铁
- (CGSize)sizeFromString:(NSString *)string {
NSArray *componentsArray = [string componentsSeparatedBy:@"n\\"];
CGFloat resultHeight = 0.f;
CGFloat resultWidth = 0.f;
for (NSString *component in componentsArray) {
CGSize componentSize = [component sizeWithAttributes: ....]; // some attributes
resultHeight += componentSize.height;
componentWidth = componentSize.width;
if (componentWidth > resultWidth) {
resultWidth = componentWidth
}
}
return CGSizeMake(resultWidth, resultHeight);
}
也许您还应该总结“垂直填充”的高度(文本行之间的间隔)