在Swift中獲取和設(shè)置UITextField和UITextView的光標(biāo)位置我一直在嘗試UITextField和如何使用它的光標(biāo)位置。我已經(jīng)找到了許多關(guān)系Objective-C答案,如在ios中獲取UITextField的光標(biāo)位置控制UITextField中的光標(biāo)位置UITextField獲取當(dāng)前編輯的單詞但由于我正在使用Swift,我想學(xué)習(xí)如何獲取當(dāng)前光標(biāo)位置并在Swift中設(shè)置它。下面的答案是我從Objective-C進行實驗和翻譯的結(jié)果。
3 回答

慕標(biāo)琳琳
TA貢獻1830條經(jīng)驗 獲得超9個贊
在我的情況下,我不得不使用DispatchQueue:
func textViewDidBeginEditing(_ textView: UITextView) { DispatchQueue.main.async{ textField.selectedTextRange = ... }}
這個和其他線程沒有其他工作。
PS:我仔細檢查了運行textViewDidBeginEditing的線程,并且它是主線程,因為所有UI都應(yīng)該運行,所以不確定為什么使用main.asynch的那個小延遲工作。

白豬掌柜的
TA貢獻1893條經(jīng)驗 獲得超10個贊
對于您點的設(shè)置光標(biāo)位置:
textView.beginFloatingCursor(at: CGPoint(x: 10.0, y: 10.0))
對于重置光標(biāo)位置:
textView.endFloatingCursor()
注意:此示例適用于Textview和Textfield。
- 3 回答
- 0 關(guān)注
- 1977 瀏覽
添加回答
舉報
0/150
提交
取消