gpt4 book ai didi

ios - 强制 UITextView 光标位于 View 顶部

转载 作者:行者123 更新时间:2023-11-29 02:10:44 31 4
gpt4 key购买 nike

我有一个 UITableView,其中包含一系列文本输入字段,可以是 UITextField 或 UITextView 控件。选择文本输入字段后,键盘的“下一步”按钮用于循环显示这些字段。除了一件事,这一切都正常工作。当 UITextView(多行)通过调用 becomeFirstResponder 接收焦点时,光标位于 View 中的第二行,而不是第一行。这似乎是解决该问题的最常见建议,但在我的情况下不起作用。有什么建议么?谢谢!

-(void)textViewDidBeginEditing:(UITextView *)textView
{
[textView setSelectedRange:NSMakeRange(0, 0)];
}

也尝试过,但没有成功:

textView.selectedTextRange = [textView textRangeFromPosition:textView.beginningOfDocument toPosition:textView.beginningOfDocument];

最佳答案

在调用 textViewDidBeginEditing 后,光标似乎重新定位;所以你移动它,它又被移回去。您可以通过使用 dispatch_async 调用 setSelectedRange 来解决此问题:

-(void)textViewDidBeginEditing:(UITextView *)textView
{
dispatch_async(dispatch_get_main_queue(), ^{
textView.selectedRange = NSMakeRange(0, 0);
});;
}

为 future 的用户更新您的修复程序,因为似乎另一个选项也可以解决我提到的问题,即 performSelectorOnMainThread 并调用 setCursor 来移动光标.

[self performSelectorOnMainThread:@selector(setCursor) withObject:nil waitUntilDone:NO];

关于ios - 强制 UITextView 光标位于 View 顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310035/

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