为了账号安全,请及时绑定邮箱和手机立即绑定

在Swift中获取和设置UITextField和UITextView的光标位置

在Swift中获取和设置UITextField和UITextView的光标位置

iOS
Qyouu 2019-07-23 19:48:55
在Swift中获取和设置UITextField和UITextView的光标位置我一直在尝试UITextField和如何使用它的光标位置。我已经找到了许多关系Objective-C答案,如在ios中获取UITextField的光标位置控制UITextField中的光标位置UITextField获取当前编辑的单词但由于我正在使用Swift,我想学习如何获取当前光标位置并在Swift中设置它。下面的答案是我从Objective-C进行实验和翻译的结果。
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

在我的情况下,我不得不使用DispatchQueue:

func textViewDidBeginEditing(_ textView: UITextView) {

   DispatchQueue.main.async{
      textField.selectedTextRange = ...
   }}

这个和其他线程没有其他工作。

PS:我仔细检查了运行textViewDidBeginEditing的线程,并且它是主线程,因为所有UI都应该运行,所以不确定为什么使用main.asynch的那个小延迟工作。


查看完整回答
反对 回复 2019-07-23
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

对于您点的设置光标位置:

textView.beginFloatingCursor(at: CGPoint(x: 10.0, y: 10.0))

对于重置光标位置:

textView.endFloatingCursor()

注意:此示例适用于Textview和Textfield。


查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 1912 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信