ViewControllerは、textNameという2つのTextFieldから構成されます。& textEmail。 View Controllerは、textNameにカーソルを合わせて読み込みます。 textNameには、事前に入力された単語「@ gmail.com」が含まれています。UITextFieldの先頭のカーソル
打撃キーボードの戻り値textNameからのキー、フォーカスはTextfield textEmailに移動されます。ここではデフォルトでカーソルは "@ gmail.com"という単語の後に置かれます
私は最初にカーソルを置いておきたいと思います。 @ gmail.comの前@
ここに私のコードです。 textNameからリターンキーを押すと、カーソルはtextEmailの先頭に移動します。しかし、textEmailを直接タップすると、入力済みの単語の後ろにカーソルが表示されます。私を助けてください!
func textFieldShouldReturn(textField: UITextField) -> Bool {
if textField == self.textName{
textEmail.becomeFirstResponder()
let desiredPosition = textEmail.beginningOfDocument
textEmail.selectedTextRange = textEmail.textRangeFromPosition(desiredPosition, toPosition: desiredPosition)
}
if textField == self.textEmail{
dismissViewControllerAnimated(true, completion: nil)
}
return true
}
メモとして、編集を試しましたが、textEmailのアクションを開始し、以下のコードを追加しましたが、どちらも機能しませんでした。
let desiredPosition = textEmail.beginningOfDocument
textEmail.selectedTextRange = textEmail.textRangeFromPosition(desiredPosition, toPosition: desiredPosition)
でこのメソッドをコピーのviewDidLoad
における自己例
を設定した後の委任
UITextFieldDelegate
を設定手動creを使用してDidBegin編集アクションを実行しました。 textFieldDidBeginEditingが機能しました。 – NKay