2011-05-12 5 views
0

하나는 UITextView 인 여러보기에서 결합 된 UIView를 사용하고 있습니다.iPad에서 UITextView를 사용하는 InputAccessoryView

UITextView가 첫 번째 응답자가되면 UIView를 InputAccessoryView로 설정합니다. 키보드가 액세서리보기와 함께 잘 작동합니다.

문제는 UITextView가 텍스트를 즉시 입력 할 수 있기 때문에 (커서를 클릭하지 않고) 첫 번째 응답자 인 것처럼 보이지만 키보드를 닫으려고 할 때 키보드가 내려 가지 않고 다시 탐색하더라도 키보드는 계속 남아있을 것입니다.

UITextView를 다시 클릭 할 때만 키보드를 닫을 수 있으며 키보드를 뒤로 이동하면 키보드가 내려갑니다.

아무도 모르는 사람이 있습니까?

UITextView가 자체 inputAccessoryView 내부에 있기 때문에 UIResponder에서 재귀가있을 수 있다고 생각합니다. 어떻게하면이 문제를 해결할 수 있습니까?

답변

0

또한이 문제가 발생했습니다. 그것을 해결 :

[self.view endEditing:YES]; 
0

나는 원인이 inputAccessoryView로 설정되는 경우, UITextView 지금 FirstResponder되지 않는 것입니다 찾을 수 있습니다. 어쨌든 UITextView를 다시 터치하면 첫 번째 응답자가되고 모든 것이 OK가됩니다.

그래서 아이폰에 내 (추한) 솔루션입니다 :

  1. 이 UIKeyboardDidShowNotification을 준수하십시오

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];

  2. UIKeyboardDidShowNotification를받은 후 (keyboardDidShow:에) 다시 UITextView에 becomeFirstResponder를 보냅니다.

내가 textViewShouldBeginEditing:로하지만 그 시간에 코드를 넣어 테스트 한의 inputAccessoryView가 화면에 표시되지 않으므로 여전히 첫 번째 응답자 될 수 없다?

@ takeshi-kaga 귀하의 방법을 시도했지만 작동하지 않습니다. 자세한 내용을 알려 주실 수 있습니까?

관련 문제