키보드 크기에 따라 축소 및 확장보기를 올바르게 구현하려면 어떻게해야합니까?

DatForis

키보드의 존재에 따라 확장 및 축소되는 iOS 용 채팅 인터페이스를 만들려고합니다.

나는 키보드에 대한 관찰자를 사용하여 구현했습니다. 알림 및 작동이 표시되고 사라집니다.

func keyboardWillDisappear(notification: NSNotification){
    var userInfo:NSDictionary = notification.userInfo!
    var keyboardSize = userInfo.objectForKey(UIKeyboardFrameEndUserInfoKey)!.CGRectValue().size
    var oldViewFrame : CGRect = self.view.frame
    self.view.frame = CGRectMake (0, 0, oldViewFrame.width, oldViewFrame.height + keyboardSize.height)
}
func keyboardWillAppear(notification: NSNotification){

    var keyboardSize = userInfo.objectForKey(UIKeyboardFrameEndUserInfoKey)!.CGRectValue().size
    var oldViewFrame : CGRect = self.view.frame
    self.view.frame = CGRectMake (0, 0, oldViewFrame.width, oldViewFrame.height - keyboardSize.height)      
}

이제 어느 정도 작동하지만 사용자가 예측 입력 제안을 활성화하거나 비활성화하려고하면 문제가 발생합니다. keyboardWillAppear는 호출되지만 keyboardWillDisappear는 호출되지 않으므로 예측이 활성화 될 때마다 뷰가 계속 축소됩니다.

더 간단하고 안전한 방법이 있어야합니다.주의해야 할 다른 사항이 있으면 알려주세요. 감사

Nurep

당신은 또한 관찰해야합니다

UIKeyboardWillChangeFrameNotification

및 / 또는

UIKeyboardDidChangeFrameNotification

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

플라스크를 VS 코드에서 올바르게 실행하려면 어떻게해야합니까?

분류에서Dev

내 user.address시 /도 및 국가 필드를 내보기에 올바르게 포함하려면 어떻게해야합니까?

분류에서Dev

키보드 단축키로 Ubuntu 도크를 숨기거나 표시하려면 어떻게해야합니까?

분류에서Dev

면도기보기에서 큰 따옴표를 올바르게 이스케이프하려면 어떻게해야합니까?

분류에서Dev

기본 축소보기를 갖도록 js, html 및 css를 사용하여이 코드를 조정하려면 어떻게해야합니까?

분류에서Dev

장치에 따라 다른 스토리 보드를로드하려면 어떻게해야합니까?

분류에서Dev

Razor보기에서 십진수 값을 올바르게 게시하려면 어떻게해야합니까?

분류에서Dev

Payum 결제에서 "보류 중"상태를 "올바르게"확인하려면 어떻게해야합니까?

분류에서Dev

2D 캔버스에서 확대 / 축소 기능을 구현하려면 어떻게해야합니까?

분류에서Dev

앱뿐만 아니라 문서를 열기위한 키보드 단축키를 만들려면 어떻게해야합니까?

분류에서Dev

할 일 목록에 jquery에 키보드 단축키를 입력하려면 어떻게해야합니까?

분류에서Dev

Microsoft Windows의 Zoom에서 키보드 단축키를 비활성화하려면 어떻게해야합니까?

분류에서Dev

장치 (Arduino)에 명령을 보내기 위해 IBM Bluemix Node-RED Iotout 노드를 올바르게 설정하려면 어떻게해야합니까?

분류에서Dev

OpenCV 라이브러리를 Windows의 Eclipse에 올바르게 링크하려면 어떻게해야합니까?

분류에서Dev

typescript-transformer 함수에서 'this'키워드를 올바르게 변환하려면 어떻게해야합니까?

분류에서Dev

Raku Perl 6에서 Git 객체를 올바르게 압축 해제하려면 어떻게해야합니까?

분류에서Dev

키로 트랩 기능을 구축하려면 어떻게해야합니까?

분류에서Dev

기본적으로 축소 된보기에서 tmux 창을 나열하려면 어떻게해야합니까?

분류에서Dev

Joomla에 jQuery 및 Bootstrap을 올바르게로드하려면 어떻게해야합니까?

분류에서Dev

두 소비자에게 데이터를 올바르게 배포하려면 어떻게해야합니까?

분류에서Dev

Cuda / C ++의 호스트 및 장치 코드에서 멤버가 호출되는 클래스를 올바르게 구현하려면 어떻게해야합니까?

분류에서Dev

테이블 텍스트 세부 정보를보기 위해 확대 / 축소 효과를 추가하려면 어떻게해야합니까?

분류에서Dev

Internet Explorer 및 Firefox에서 확대 / 축소를 비활성화하려면 어떻게해야합니까?

분류에서Dev

D3 확대 / 축소 가능한 햇살에서 확대 / 축소 수준에 따라 레이블을 지정하려면 어떻게해야합니까?

분류에서Dev

축소 도구 모음 및 카드보기가 올바르게 형식화되지 않음

분류에서Dev

스택 카드 기반보기를 구현하려면 어떻게해야합니까?

분류에서Dev

백그라운드 프로세스로 스크립트를 올바르게 관리하도록 시스템화하려면 어떻게해야합니까?

분류에서Dev

콘텐츠에 따라 크기가 조정되는 두 개의 수평 텍스트보기를 표시하려면 어떻게해야합니까?

분류에서Dev

콘텐츠에 따라 크기가 조정되는 두 개의 수평 텍스트보기를 표시하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    플라스크를 VS 코드에서 올바르게 실행하려면 어떻게해야합니까?

  2. 2

    내 user.address시 /도 및 국가 필드를 내보기에 올바르게 포함하려면 어떻게해야합니까?

  3. 3

    키보드 단축키로 Ubuntu 도크를 숨기거나 표시하려면 어떻게해야합니까?

  4. 4

    면도기보기에서 큰 따옴표를 올바르게 이스케이프하려면 어떻게해야합니까?

  5. 5

    기본 축소보기를 갖도록 js, html 및 css를 사용하여이 코드를 조정하려면 어떻게해야합니까?

  6. 6

    장치에 따라 다른 스토리 보드를로드하려면 어떻게해야합니까?

  7. 7

    Razor보기에서 십진수 값을 올바르게 게시하려면 어떻게해야합니까?

  8. 8

    Payum 결제에서 "보류 중"상태를 "올바르게"확인하려면 어떻게해야합니까?

  9. 9

    2D 캔버스에서 확대 / 축소 기능을 구현하려면 어떻게해야합니까?

  10. 10

    앱뿐만 아니라 문서를 열기위한 키보드 단축키를 만들려면 어떻게해야합니까?

  11. 11

    할 일 목록에 jquery에 키보드 단축키를 입력하려면 어떻게해야합니까?

  12. 12

    Microsoft Windows의 Zoom에서 키보드 단축키를 비활성화하려면 어떻게해야합니까?

  13. 13

    장치 (Arduino)에 명령을 보내기 위해 IBM Bluemix Node-RED Iotout 노드를 올바르게 설정하려면 어떻게해야합니까?

  14. 14

    OpenCV 라이브러리를 Windows의 Eclipse에 올바르게 링크하려면 어떻게해야합니까?

  15. 15

    typescript-transformer 함수에서 'this'키워드를 올바르게 변환하려면 어떻게해야합니까?

  16. 16

    Raku Perl 6에서 Git 객체를 올바르게 압축 해제하려면 어떻게해야합니까?

  17. 17

    키로 트랩 기능을 구축하려면 어떻게해야합니까?

  18. 18

    기본적으로 축소 된보기에서 tmux 창을 나열하려면 어떻게해야합니까?

  19. 19

    Joomla에 jQuery 및 Bootstrap을 올바르게로드하려면 어떻게해야합니까?

  20. 20

    두 소비자에게 데이터를 올바르게 배포하려면 어떻게해야합니까?

  21. 21

    Cuda / C ++의 호스트 및 장치 코드에서 멤버가 호출되는 클래스를 올바르게 구현하려면 어떻게해야합니까?

  22. 22

    테이블 텍스트 세부 정보를보기 위해 확대 / 축소 효과를 추가하려면 어떻게해야합니까?

  23. 23

    Internet Explorer 및 Firefox에서 확대 / 축소를 비활성화하려면 어떻게해야합니까?

  24. 24

    D3 확대 / 축소 가능한 햇살에서 확대 / 축소 수준에 따라 레이블을 지정하려면 어떻게해야합니까?

  25. 25

    축소 도구 모음 및 카드보기가 올바르게 형식화되지 않음

  26. 26

    스택 카드 기반보기를 구현하려면 어떻게해야합니까?

  27. 27

    백그라운드 프로세스로 스크립트를 올바르게 관리하도록 시스템화하려면 어떻게해야합니까?

  28. 28

    콘텐츠에 따라 크기가 조정되는 두 개의 수평 텍스트보기를 표시하려면 어떻게해야합니까?

  29. 29

    콘텐츠에 따라 크기가 조정되는 두 개의 수평 텍스트보기를 표시하려면 어떻게해야합니까?

뜨겁다태그

보관