테이블 뷰의 맨 아래에있는 텍스트 상자를 슬라이드하려고합니다 (실제로는 바닥 글보기에 있음). 그래서이 두 가지 방법을 시도 :키보드가 나타날 때 테이블 뷰 슬라이딩
- 이 자동 레이아웃 제약에게있는 tableview 여전히
의
애니메이션 contentInsets
func keyboardWillShow(notification: NSNotification) { if let keyboardHeight = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height { UIView.animate(withDuration: 0.2, animations: { self.tableView.contentInset = UIEdgeInsetsMake(0, 0, keyboardHeight, 0) }) } } func keyboardWillHide(notification: NSNotification) { UIView.animate(withDuration: 0.2, animations: { self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0) }) }
에 애니메이션 자동 레이아웃 제약
그래서 첫 번째 예에서, 내가 몰랐 animati on 또는 tableview content moving. 두 번째 예제에서는 자동 레이아웃 제약 조건 (맨 아래 수직 간격)의 콘센트를 만들었지 만 이상한 결과가 나타납니다. 예를 들어, tableview는 완전히 움직이지는 않지만 처음으로 움직입니다.
중단 점을 넣으면 keyboardHeight
은 471
과 같습니다. 나는 명백한 것을 놓치고 있습니까?
사용 [IQKeyboardManager] (https://github.com/hackiftekhar/IQKeyboardManager#installation- with-cocoapod-) – pkc456
@ pkc456 죄송합니다. 제 3 자의 옵션이 없습니다. – Whirlwind
왜 시뮬레이터에서 테스트 할 수 없습니까? – Devster101