2014-11-20 2 views
2

텍스트보기 및 기타 버튼이보기에있는 채팅 응용 프로그램을 개발 중입니다. 예언이 설정되면 iOS8 키보드에 문제가 있습니다. predictive가 꺼지면 잘 작동하지만 textview 및 기타 버튼이 배치 된 뷰가 설정됩니다.예측이 설정되어있는 경우 ios 8 키보드 문제

viewDidLoad에서 KeyboardWillShow 및 KeyboardWillHide에 대한 NSNotification을 추가했습니다.

viewDummy는 텍스트 뷰와 다른 버튼이 추가 뷰를하다 내가이 문제를 제거하기 위해 무슨 짓을

- (void)keyboardWillShow:(NSNotification *)notification { 
    NSDictionary* info = [notification userInfo]; 
    CGRect kKeyBoardFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; 
    CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size; 

    [UIView animateWithDuration:0.2f animations:^{ 

     CGRect frame = viewDummy.frame; 
     frame.origin.y -= kbSize.height; 
     viewDummy.frame = frame; 


     frame = bubbleTable.frame; 
     frame.size.height -= kbSize.height; 
     bubbleTable.frame = frame; 
    }]; 
} 


-(void) keyboardWillHide:(NSNotification *)note{ 

    NSDictionary* info = [note userInfo]; 
    CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size; 

    [UIView animateWithDuration:0.2f animations:^{ 

     CGRect frame = viewDummy.frame; 
     frame.origin.y += kbSize.height; 
     viewDummy.frame = frame; 

     frame = bubbleTable.frame; 
     frame.size.height += kbSize.height; 
     bubbleTable.frame = frame; 
    }]; 

} 

enter image description here

+1

키보드를 닫은 후 다시 표시하면보기가 잘못 배치됩니까? 예측 입력을 켜고 끌 때 알림을 게시하는 UIKeyboardWillChangeFrameNotification과 UIKeyboardDidChangeFrameNotification이 있습니다. 그러한 통지에 등록하면 도움이 될 것입니다. – sikhapol

+0

나는 시도했지만 운이 없다. – Vidhyanand

답변

0
  • 했다 :
  • 조정 kbSize . 차이에 따라 수동으로 높이.
  • 차이점은 높이가 44인데, 내 경우에는 44입니다.
  • 내가 한 일은 frame.origin.y + = kbSize.height + 44 또는 frame.origin.y - = kbSize.height + 44였습니다.이 방법이 도움이 될 것 같습니다.
관련 문제