ViewController는 textName이라는 두 개의 TextField로 이루어져 있습니다. & textEmail. 컨트롤러가 textName에 커서가있는 상태로로드됩니다. textName은 미리 채워진 단어 "@ gmail.com"을 포함합니다.UITextField 시작시 커서
타격 키보드 반환 textName에서 키를 누르면 Textfield textEmail로 포커스가 이동합니다. 여기 기본적으로 커서는 "@ gmail.com"단어 뒤에 배치됩니다.
커서를 처음부터 가져 오려고합니다. 즉 @ gmail.com 앞에
다음은 내 코드입니다. textName에서 return 키를 누르면 커서가 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)
당신의 ViewController에서이 방법을 복사 예의 viewDidLoad
당신 텍스트 필드 위임 설정자가 한 후 위임
UITextFieldDelegate
설정 수동 cre 사용 DidBegin 편집 작업. textFieldDidBeginEditing가 작동했습니다. – NKay