iOS4:无法以编程方式滚动到UITextView的底部

Osc*_*uch 15 iphone uiscrollview uitextview uitextviewdelegate ios4

在我使用这种方法之前....

//TextView is a UITextView 

[TextView scrollRangeToVisible:NSMakeRange([TextView length], 0)];
Run Code Online (Sandbox Code Playgroud)

...它将以编程方式滚动到UITextView的末尾,但它似乎不适用于iOS 4.0.有没有办法以编程方式滚动到UITextView的末尾而不改变editablility或插入一个点(用户可以点击UITextView并显示键盘)?

另外,我是否需要将文件所有者指定为委托?这有什么不同吗?

小智 37

UITextView没有length属性.以下代码适用于我的环境.

[TextView scrollRangeToVisible:NSMakeRange([TextView.text length], 0)];
Run Code Online (Sandbox Code Playgroud)


Sam*_*Sam 6

答案对我来说不起作用,但遵循用于TableView的工作完美无缺.只需确保您的UITextView名为textView.

if (textView.contentSize.height > textView.frame.size.height)
{
    CGPoint offset = CGPointMake(0, textView.contentSize.height - textView.frame.size.height);
    [self.textView setContentOffset:offset animated:YES];
}
Run Code Online (Sandbox Code Playgroud)