2016-09-20 73 views
1

我想給的提示設置爲在此基礎上公認的答案Getting and Setting Cursor Position of UITextField and UITextView in Swift設置提示文本字段中的文本開始

但是提示是越來越設置在一些文本末尾的一個的UITextField開始,不是開始。 iOS10/Swift 3中的某些內容發生了變化,導致該問題的答案中的代碼無效?

 @IBOutlet weak var mdnTextField: UITextField! 

     mdnTextField.text = "Some text" 
     mdnTextField.tintColor = UIColor.textFieldPromptLightGray() 
     mdnTextField.textColor = UIColor.textFieldPromptLightGray() 
     let promptPosition = mdnTextField.beginningOfDocument 
     mdnTextField.selectedTextRange = mdnTextField.textRange(from: promptPosition, to: promptPosition) 
+0

我認爲很大程度上取決於您何時運行該代碼。你能修改你的問題來展示一些背景嗎?你沒有給出足夠的代碼讓我自己進行實驗。 – matt

+0

這就是viewDidLoad,我發現用這個代碼然後調用如果讓selectedRange = mdnTextField.selectedTextRange不計算因此selectedTextRange沒有得到設置。 – Gruntcakes

+0

原因是因爲mdnTextField.beginningOfDocument未初始化(因此endOfDocument就是這個問題),儘管mdnTextField.text被設置爲某些東西。 – Gruntcakes

回答

1

移動promptPosition東西到你的文本字段的委託的didBeginEditing

+0

謝謝,就是這樣 – Gruntcakes