我在我的应用程序中实现了一些简单的文本聊天功能,我遇到了以编程方式滚动UITextView
的问题。我正在使用在Interface Builder中创建的UITextView
,它在预先存在的文本中添加一个新行和一些文本。当添加新文本时,它应该滚动到底部。以编程方式滚动UITextView
我构建了一个测试应用程序,以在将其添加到我的应用程序之前确定这个概念。 UITextView
中的文本将更新为UITextField
中的文本,但不会发生滚动。
- (IBAction)enteredText {
CGPoint currentPosition = [textWindow contentOffset];
[textWindow setText:[NSString stringWithFormat:@"%@\n%@", textWindow.text, textInput.text]];
[textWindow setContentOffset:currentPosition animated:NO];
[textWindow scrollRangeToVisible:NSMakeRange([textWindow.text length], 0)];
[textInput setText:@""];
[textInput becomeFirstResponder];
}
我记得落实在另一个应用程序开发我前一阵子andfrom我记得代码类似于一个非常类似的功能。唯一的区别是以前的应用程序是针对iPhone OS 2的,但是这个针对的是3.0。我在一些论坛上读到,当在Interface Builder中创建UITextView
时,3.0 beta版在滚动时遇到了一些问题。我检查了current release notes,我没有看到任何指示。
编辑:由于文本在UITextView中更新,因此调用IB操作。并且选中“可取消的内容接触”。
编辑:证实了相同的代码工作在2.2.1但不是3.0
我知道该操作正在被调用,因为文本更新。是的,我看到检查“可取消内容触摸”修复了3.0中的问题。我应该在原文中包含这些细节。 “可取消内容触摸”背后的详细信息 – 2009-07-23 17:29:36