gpt4 book ai didi

iphone - 以编程方式滚动 UITextView

转载 作者:行者123 更新时间:2023-12-03 21:00:13 24 4
gpt4 key购买 nike

我正在我的应用中实现一些简单的文本聊天功能,但在以编程方式滚动 UITextView 时遇到问题。我正在使用在 Interface Builder 中创建的 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];

}

我记得在我不久前开发的另一个应用程序中实现了一个非常相似的功能,并且据我所知,代码是相似的。唯一的区别是,早期的应用程序适用于 iPhone OS 2,而此应用程序适用于 3.0。我在一些论坛上读到,在 Interface Builder 中创建 UITextView 时,3.0 beta 存在一些滚动问题。我检查了current release notes我没有看到任何表明这一点的信息。

编辑:调用 IB 操作是因为 UITextView 中的文本已更新。并选中“可取消的内容触摸”。

编辑:确认相同的代码适用于 2.2.1,但不适用于 3.0

最佳答案

我发现用户点击 UITextView 后滚动开始工作。因此,在加载此特定 View 后,我临时将 UITextView 设置为 FirstResponder,然后将 UITextField 设置为 FirstResponder:

[myChatRoomViewController.chatWindow becomeFirstResponder];
[myChatRoomViewController.input becomeFirstResponder];

然后滚动会自动发生,尽管它看起来不如我内存中的 iPhone OS 2 中的平滑。

关于iphone - 以编程方式滚动 UITextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1172314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com