我有一个UITextView
没有显示其中的所有文字,所以你需要滚动阅读更多内容。我想获得UITextView
中的行数。我试图找到怎样但我能找到的只有你显示所有文字以获得行数。
autoLayout已启用。
我的代码看起来像这样:
CGRect textViewFrame = CGRectMake(20.0f, 20.0f, 280.0f, 124.0f);
UITextView *textView = [[UITextView alloc] initWithFrame:textViewFrame];
textView.returnKeyType = UIReturnKeyDone;
textView.delegate = self;
[self.view addSubview:textView];
[self contentSizeRectForTextView:textView];
textView.text=@"very long text";
我试过了:
UIFont *font = [UIFont boldSystemFontOfSize:11.0];
CGSize size = [textView.text sizeWithFont:font
constrainedToSize:textView.frame.size
lineBreakMode:NSLineBreakByWordWrapping];
float numberOfLines = size.height / font.lineHeight;
NSLog(@"%f", numberOfLines);
但它只显示了显示的行数以及:
float rows = round( (textView.contentSize.height - textView.textContainerInset.top - textView.textContainerInset.bottom) / textView.font.lineHeight );
提前致谢
答案 0 :(得分:0)
试试这个!
int numLines = textview.contentSize.height / textview.font.lineHeight;
重新调整框架:
CGFloat fixedWidth = textView.frame.size.width;
CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
CGRect newFrame = textView.frame;
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
textView.frame = newFrame;
textview.scrollEnabled = NO;
答案 1 :(得分:0)
您可以使用UIScrollView并将UITextView添加为子视图。在这种情况下,滚动将根据UITextView
中的文本更改大小