2017-02-14 2 views
0

UITextFieldkeyboard 가시성을 처리하는 데 이상한 문제가 있습니다.UITextFields 편집 및 응답자를위한 IOS 신속한 3 크래시

현재 컨트롤러의 목적은 사용자가 일부 데이터를 편집 할 수있게 해주는 것입니다.

그래서 텍스트 필드를 거의 포함하지 않기로 결정했습니다. 사용자가 일부 데이터를 수정하면 버튼이 나타나고 수정할 수 있습니다. 그러나 다른 데이터를 읽으려면 keyboard을 숨겨야합니다. 프로세스가 을 수행 할 때

  • self.view.endEditing(true)
  • currentTextField.resignFirstResponder()
  • 는 심지어 "숨겨진 UITextField에"를 생성하고 becomeFirstResponder에 물어

    내가 그렇게 좋아 할 수있는 작업 방법을 찾기 위해 몇 가지 연구를했다

이러한 시도 중 키보드 숨기기가 끝났지 만 Optional value으로 끝났습니다.

나는

+0

일부 코드를 표시 할 수 있습니까? –

+0

일부 코드를 입력하십시오. 이러한 종류의 충돌을 피하기 위해 선택적 바인딩을 사용 했습니까? – KrishnaCA

답변

0

귀하의 뷰 컨트롤러가 UITextFieldDelegate를 서브 클래 싱 할 필요가 사전에 의해, 지금 누군가가 단서를 가지고

경우 감사를 Swift 3XCode 8.2.1을 사용하고 있습니다. 이 프로토콜에 정의 된 기능을 구현하면 필요한 제어 기능이 있어야합니다. myTextfield.delegate = self 또는 프로토콜을 구현하는 객체를 설정하는 것을 잊지 마십시오.

예를 들어 "DidEndEditing"및 유사합니다. 이미 수행 한 경우 문제 진단을위한 코드를 제공하십시오. 귀하의 답변

0

감사합니다,

나는 코드의 시작에서 UITextFieldDelegate를 구현하고 내 모든 TextFieldeditingDidBegineditingDidEnd 사용하고 난이 API 호출의 결과에서 코드 아래에 전화했을 때 충돌이 발생

self.view.endEditing(true) 

API 호출 전에이 코드를 사용하여 키보드 숨기기를 성공시키는 방법을 찾았습니다. 슬픈면은 호출이 실패 할 경우 키보드를 계속 볼 수있는 가능성을 피하는 새로운 방법입니다.

0

self.view.endEditing (참)

이 줄은 충돌하지 않아야합니다. 그것은 단지 UITextfield에서 응답자를 사임합니다. 너의 추락에 대해 자세히 알려주시겠습니까? 충돌이 발생할 때 로그 콘솔에 기록되는 내용. 내가 아는 한 self.view.endEditing (true)이 확실히 귀하의 요구 사항을 충족시킬 것입니다.