我需要将 UITextField 的光标定位在与另一个先前文本字段完全相同的位置。我将光标在第一个文本字段中的位置设为nint index = txtToField.GetOffsetFromPosition(txtToField.BeginningOfDocument, txtToField.SelectedTextRange.Start);
,它正确地从我的光标当前所在的文本字段的开头获取字符数。经过一些研究,并使用以下问题:
设置UITextField的光标位置 https://stackoverflow.com/questions/25414942/setting-cursor-position-of-uitextfield
我尝试使用我之前获得的索引来实现问题的解决方案,以在文本字段中设置光标位置。这是行不通的,在将文本字段设置为第一响应者并运行后:
txtTo.BecomeFirstResponder();
UITextPosition positionSet = txtTo.GetPosition(txtTo.BeginningOfDocument, position);
txtTo.SelectedTextRange = txtTo.GetTextRange(positionSet, positionSet);
它会自动将光标置于 UITextField 的末尾。此外,我尝试检查是否SelectedTextRange
方法按预期工作,但是当尝试将文本字段中的所有文本设置为选定时:
txtTo.BecomeFirstResponder();
txtTo.SelectedTextRange = txtTo.GetTextRange(txtTo.BeginningOfDocument, txtTo.EndOfDocument);
它还会自动将光标置于 UITextField 的末尾,这是 UITextField 的标准行为BecomeFirstResponder()
. Does SelectedTextRange
在当前版本的 Xamarin 中不起作用?
我正在使用 Xamarin 版本 7.6.10(内部版本 27)和 Xamarin.iOS 版本 12.0.0.15。