Iphone 如何将文本拆分为单独的UITextView页面?

Iphone 如何将文本拆分为单独的UITextView页面?,iphone,uitextview,sizewithfont,Iphone,Uitextview,Sizewithfont,子问题是: 如何确定UITextview的内置内部边距是多少 我有一个很长的文本主字符串,我试图将其拆分为单独的UITextView页面,然后在UIScrollView中从一页滚动到另一页。我使用以下方法确定UITextView中字符串的高度以及该字符串是否超过高度限制: -(NSNumber *)getHeightByWidth: (NSString *) myString mySize: (UIFont *) mySize

子问题是:

如何确定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中使用此过程会出现文本最后一行上的这些间隙吗?

内置边距由属性contentInset表示

您还可以自己配置页边距

如果您的文本视图在IB中,请查找内容插入。值必须为0,但仍显示一些边距。尝试将它们设置为负值,如-4或-8

在代码中,执行以下操作-

myTextView.contentInset = UIEdgeInsetsMake(-4,-8,0,0);

您必须根据您认为合适的设置这些值。

这并不能回答子问题。我想知道UITextView的边距已经设置为多少,而不是如何设置边距。答案就在我的回复中。contentInset属性为您提供表示边距的UIEdgeInset。编辑我的答案!在IB中,UITextView的内容插入值设置为0。但是,我可以看到文本从UITextView的边缘缩进,每边大约10个像素。有没有办法确定这个10像素的插入值是多少?对不起,我不知道。但我想如果你能通过点击和试用来调整这个内部利润率,那就没关系了。