gpt4 book ai didi

ios - 在 iOS 7 中编辑时,UITextView 光标定位不正确。为什么?

转载 作者:IT王子 更新时间:2023-10-29 07:59:09 25 4
gpt4 key购买 nike

Why is this a thing thats happening

上面的那个黄色框是一个可编辑的 UITextView,当前正在编辑(是第一响应者)。但你可能不知道对不对?因为没有游标。但是有...它是黄色 textView 左下角的那个小蓝点。它略低于 textViews 底部边框。因此,如果我继续换行或按回车键,文本将自然而然地向上移动。但是光标永远不会“水平”,也不会位于 UITextView 底部边框的正上方。它总是勉强从底部探出,在边界以下几个点。

为什么?这在 iOS 6 中不是问题。有什么方法可以解决这个问题吗?

最佳答案

这个bug在iOS 7.0你可以通过修改textView委托(delegate)方法来解决。

试试下面的代码

- (void)textViewDidChange:(UITextView *)textView {
CGRect line = [textView caretRectForPosition:
textView.selectedTextRange.start];
CGFloat overflow = line.origin.y + line.size.height
- ( textView.contentOffset.y + textView.bounds.size.height
- textView.contentInset.bottom - textView.contentInset.top );
if ( overflow > 0 ) {
// We are at the bottom of the visible text and introduced a line feed, scroll down (iOS 7 does not do it)
// Scroll caret to visible area
CGPoint offset = textView.contentOffset;
offset.y += overflow + 7; // leave 7 pixels margin
// Cannot animate with setContentOffset:animated: or caret will not appear
[UIView animateWithDuration:.2 animations:^{
[textView setContentOffset:offset];
}];
}
}

你的问题就解决了。

关于ios - 在 iOS 7 中编辑时,UITextView 光标定位不正确。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19259886/

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