在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進(jìn)行實(shí)驗(yàn)和翻譯的結(jié)果。
3 回答

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

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