문제

알림을 설정할 수있는 모든 예제는 다음과 같이 보입니다.

NC AddoBserver : 셀프 선택기 : @Selector (키보드 위가 :) 이름 : uikeyboardwillShownotification 객체 : nil];

객체가 항상 nil로 설정되는 곳. Object는 NotificationSender이며 문서에 정의되어 있습니다.

"관찰자가 받고 자하는 알림, 즉이 발신자가 보낸 알림 만 관찰자에게 전달됩니다. NIL 일 때 알림 센터는 알림 발신자를 사용하여 관찰자에게 전달할지 여부를 결정하지 않습니다."

하나의 특정 텍스트보기에 대해서만 키보드 알림을 받고 싶기 때문에 AddoBServer에게 그 말을하고 싶지만 객체에 대해 무엇을 줄지 모르겠습니다. 내가 관심있는 텍스트보기에 바인딩 된 아울렛 변수를 시도했지만 그 결과 알림이 전혀 없습니다.

제안이 있습니까?

도움이 되었습니까?

해결책

그만큼 UIKeyboardWillShowNotification 창 인스턴스에서 나오고 모든 의도와 목적은 "시스템"알림입니다. 키보드가 표시되거나 표시되지 않으며 실제로 특정 컨트롤과 관련이있는 것은 아닙니다.

사용자가 특정 텍스트 필드를 입력 할 때 무언가를하고 싶다면 텍스트 필드의 대의원에서 대신 제어해야합니다.

다른 팁

이 경우 uikeyboardwillshownotification의 Docu에 "알림 객체는 nil"이라고 말하면서 하나의 특정 텍스트보기에 대해서만 알림을 얻을 수 없습니다.

특정 텍스트보기가 ISFIRSTRESPONDER 인 경우 키보드 위가 임명을 확인해야합니다.

두 가지 경쟁 요구가있었습니다. 키보드 높이를 가져와야하기 때문에 키보드 알림을 사용해야했는데,이 방법으로 만 사용할 수있는 것처럼 보이지만 어떤 텍스트보기가 있는지 알아야했습니다. 대리자. 주위에 많은 혼란을 겪은 후 마침내 알림 방법에서 키보드 높이를 얻고 인스턴스 변수에 저장하는 데 의지했는데, 이는 대의원 메소드에서 사용할 수있었습니다 (하단 텍스트보기가 대부분 스크롤해야합니다. 입력을 시작할 때 키보드 아래에 숨겨져 있습니다). 약간 우연하지만 작동합니다.

포인터에 감사드립니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top