如何才能让UITextView只在文本满时滚动

seb*_*ebi 5 iphone xcode objective-c textview ios

我有这个UITextView效果很好,除了,我不能得到里面的文字UITextView开始滚动只有UITextView在几乎完整的大小后,UITextView是4行高,但是当我到达第二行时,第一行是向上推,我不希望视图开始滚动直到我到达5行.scrollingEnabled = NO防止它滚动,所以这不起作用.

UITextView *barf_ = [[UITextView alloc] initWithFrame:CGRectMake(20.0, 310.0, 155, 50)];

barf_.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);

//[barf_ scrollRangeToVisible:NSMakeRange([barf_.text length], 0)];

barf_.layer.cornerRadius = 3.0f;

barf_.layer.borderWidth = 0.5f;

barf_.font = [UIFont fontWithName:@"Helvetica" size:13];
Run Code Online (Sandbox Code Playgroud)

小智 0

您可以使用该sizeWithFont:constrainedToSize:lineBreakMode:方法来检查您的字符串是否实际上会呈现为大于文本视图,并查看是否需要启用滚动。但是,只要设置滚动视图中的文本,您就必须调用它。

前任:

CGSize barfStringSize = [barfString sizeWithFont:[barf_ font] 
                               constrainedToSize:CGSizeMake(barf_.bounds.size.width, MAXFLOAT) 
                                   lineBreakMode:UILineBreakModeWordWrap]
[barf_ setScrollEnabled:barfStringSize.height > barf_.bounds.size.height]
Run Code Online (Sandbox Code Playgroud)