나는 UITextField
을 추가 한 UIView Subclass
입니다. 이 뷰를 ViewController의 상위 뷰로 설정했습니다. UIViewSubclass
에서 사용자 정의 키보드를 제공하기 위해 inputViewController
getter를 재정의했습니다.superview의 inputViewController는 서브 뷰 (UITextView)에서 도청 될 때 호출됩니다.
UITextField
을 선택할 때 becomeFirstResponder
이 UITextField
이라고 가정하고 이에 연결된 키보드가 표시됩니다. 그러나이 외에도 UIView Subclass
에 대한 inputViewController
메서드가 호출되어 텍스트 필드와 UIView의 입력보기가 서로 위에 표시되도록합니다. 나는 또한 UIView's subclass
에 canBecomeFirstResponder
또는 becomeFirstResponder
이 호출되는 것을 보지 못했습니다. inputViewController
메서드 만 호출되고 사용자 지정 키보드가 나타납니다.
누구나 내가 이 첫 번째 응답자가되지 않아도 UIView's subclass
에 전화를 걸리는 이유를 이해할 수 있습니까?
UPDATE 사과 문서에서 -. 은 "입력보기 텍스트보기 또는 사용자 정의보기의 inputView 속성에 할당 된 시스템 키보드를 대체가 입력 의견이있는 경우, UIKit은 스왑 수있는 심지어 텍스트 객체가 첫 번째 응답자 일 때도 키보드가 아닌 객체에 대해 개발자를 대신하여 키보드와 같은 입력보기를 표시 할 수 있습니다. "
만약 내가 이것을 정확하게 이해한다면 UIResponder가 UIView 서브 클래스에서 inputViewController를 호출하는 것이 타당하지만 inputViewController를 사용하여 textfields 키보드를 바꿔야한다고 생각하십니까? 분명히 그것은 여기서 일어나지 않습니다.
해결 방법을 찾으셨습니까? – aunindo