美文网首页
UITextField设置光标位置

UITextField设置光标位置

作者: 喔牛慢慢爬 | 来源:发表于2023-12-17 10:43 被阅读0次

设置光标的方法适用于UITextFieldUITextView

基础:
  • 获取文本的最开头位置:
UITextPosition *_beginPosition = textField.beginningOfDocument;
  • 获取文本的最尾部位置:
UITextPosition *_endPosition = textField.endOfDocument;
  • 获取当前选中文本的范围:
 UITextRange * _selectedRange = textField.selectedTextRange;
获取光标位置:
UITextPosition *_beginPosition = textField.beginningOfDocument;
UITextRange *_selectedRange = textField.selectedTextRange;
NSInteger _cursorPosition = [textField offsetFromPosition:_beginPosition toPosition:_selectedRange.start];
//_cursorPosition为光标所在位置
设置光标位置:

设置位置的根本方法是设置一个具有相同起始值和结束值的范围

  • 设置在最前端
UITextPosition *_beginPosition = textField.beginningOfDocument;
textField.selectedTextRange = [textField textRangeFromPosition: _beginPosition toPosition: _beginPosition];
  • 设置在最后端
UITextPosition *_endPosition = textField.endOfDocument;
textField.selectedTextRange = [textField textRangeFromPosition: _endPosition toPosition: _endPosition];
  • 设置在任意位置
 NSInteger _designatedValue = 5;
 UITextPosition *_beginPosition = textField.beginningOfDocument;
 UITextPosition *_newPosition = [textField positionFromPosition:_beginPosition offset:_designatedValue];
 textField.selectedTextRange = [textField textRangeFromPosition:_newPosition toPosition:_newPosition];

相关文章

网友评论

      本文标题:UITextField设置光标位置

      本文链接:https://www.haomeiwen.com/subject/ltqogdtx.html