2012-12-25 1 views
2

메인보기 컨트롤러에서 viewWillAppear:animated에 다음 코드를 추가했습니다.iPad 미니에서 "UIKeyboardWillShowNotification"을 수신 할 수 없습니다.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillShowNotification object:nil]; 

그리고, 내가 같은 클래스에이 방법을 구현

- (void)showKeyboard:(NSNotification *)notification 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Keyboard will appear." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
} 

메인 뷰 컨트롤러는 UITextField에 개체가 있습니다.

iPad2 (iOS 5.0)에서는 초점을 맞췄 으면 경고보기가 나타납니다. 그러나 iPad mini (iOS 6.0)에서는 소프트웨어 키보드를 제외하고 아무 것도 나타나지 않습니다.

iPad mini를 iPad2와 동일한 동작으로 만들고 싶습니다. 두 개의 텍스트 필드를 전환 할 때

감사합니다,

+0

은 코드에서 철자를 "viewWillAppeaer : animated"입니까? – Bejmax

+0

오 ... 단순한 맞춤법 오류입니다. 감사. – user1562079

답변

2
아이폰 OS 3.2, UIKeyboardWillHideNotification의로

UIKeyboardWillShowNotification는 더 이상 해고되지 않습니다. 기본적으로 키보드가 실제로 표시되거나 숨겨진 경우에만 알림이 실행됩니다. 대신 UIKeyboardDidShowNotification을 사용하십시오.

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) { 
     [[NSNotificationCenter defaultCenter] addObserver:self 
               selector:@selector(keyboardDidShow:) 
                name:UIKeyboardDidShowNotification 
                object:nil];  
    } else { 
     [[NSNotificationCenter defaultCenter] addObserver:self 
               selector:@selector(keyboardWillShow:) 
                name:UIKeyboardWillShowNotification 
                object:nil]; 
+0

그 대신에'UIKeyboardDidShowNotification'을 사용하려고했습니다. 불행히도, 변경 사항은 iPad 미니에 아무런 영향을 미치지 않았습니다 ... 답장을 보내 주셔서 감사합니다. – user1562079

+4

** AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH! ** 미안 ... 나는'분할 keyboard' 옵션을 설정 한 것을 잊었 . – user1562079