一个子问题是:
如何确定 UITextview 的内置内部边距是多少?
我有一个很长的主文本字符串,我试图将其拆分为单独的 UITextView 页面,然后我可以在 UIScrollView 内从一个页面滚动到另一个页面。我使用以下方法来确定 UITextView 中字符串的高度是多少以及字符串是否超过高度限制:
-(NSNumber *)getHeightByWidth: (NSString *) myString
mySize: (UIFont *) mySize
myWidth: (NSNumber *) myWidth
{
int intMyWidth = [myWidth intValue];
CGSize boundingSize = CGSizeMake(intMyWidth, CGFLOAT_MAX);
CGSize requiredSize = [myString sizeWithFont:mySize constrainedToSize:boundingSize lineBreakMode:UILineBreakModeWordWrap];
NSNumber *retNumber = [[NSNumber alloc] initWithFloat:requiredSize.height];
return retNumber;
[retNumber release];
}
我使用以下 cellFont 作为 mySize 的输入来调用 getHeightByWidth 方法:
UIFont *cellFont = [UIFont fontWithName:@"Arial" size:14.0];
UITextView 是 320 像素宽,但我注意到文本不会从左边缘到右边缘,因为内部边距看起来每边大约 10 像素。因此,当我调用 getHeightByWidth 时,我设置了 myWidth = (320 - 10 - 10); 但是在构建适合 UITextView 的字符串之后,最后一行通常会有空白,可以用主字符串中的下一个单词填充。
谁能告诉我为什么使用 UITextView 的这个过程会在文本的最后一行出现这些空白?