gpt4 book ai didi

新行中 ScrollView 插入符号错位的 iOS TextView

转载 作者:搜寻专家 更新时间:2023-10-31 23:09:35 31 4
gpt4 key购买 nike

我有以下布局 well know approach在 ScrollView 中使用 TextView。


enter image description here


它总体上工作得很好,但有一个小问题让我很恼火。


enter image description here

看看插入符号。插入新行时,自动版式不会更新。它只会在添加新字符时更新约束,突然该行再次正确显示。对于上下文,这在仅使用不带 scrollView 的 TextView 时效果非常好,所以我想知道我是否需要手动执行更多操作来模拟该行为。

现在我在 textViewDidChange 委托(delegate)上触发了一个 view.layoutIfNeeded() 来解决这个问题,但我觉得这太过分了。

提前致谢。

最佳答案

好问题!

在您的 textViewDidChange 方法中使用它:

- (void)textViewScrollToCarretIfNeeded:(UITextView *)textView {
CGRect caretRectInsideTextView = [textView caretRectForPosition:textView.selectedTextRange.start];
CGRect caretRectInsideScrollView = [self.scrollView convertRect:caretRectInsideTextView fromView:textView];
[self.scrollView scrollRectToVisible:caretRectInsideScrollView animated:YES];
}

您可以使用在线服务将其转换为 swift。

关于新行中 ScrollView 插入符号错位的 iOS TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45032047/

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