我有以下布局,well know approach在ScrollView中使用TextView。
整体效果非常好但是有一个小问题让我很烦恼。
看看插入符号。插入新行时,autolayout不会更新。它只会在添加新字符时更新约束,并且突然显示该行再次正确显示。 对于上下文,当仅使用没有scrollViews的TextView时,这非常有效,所以我想知道是否还需要手动模拟该行为。
现在我在view.layoutIfNeeded()
代表处触发textViewDidChange
来解决问题,但这对我来说太过分了。
提前致谢。
答案 0 :(得分:0)
好问题!
在您的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];
}
您可以使用在线服务将其转换为快捷方式。