Move ScrollView when keyboard show/hide
Mar 8, 2022
解決PM問你他看不到自己在UITextField打了什麼內容
前置作業
你必須有UITextField然後他的位置在偏下面
鍵盤收起
有兩種做法
- 鍵盤內建的return鍵收起
- 點擊鍵盤外畫面收起
可透過UITextFieldDelegate的textFieldShouldReturn收起鍵盤
使用點擊判斷動作來收起鍵盤
根據UITextField位置讓鍵盤移動
設定NotificationCenter
- UIResponder.keyboardWillShowNotification(鍵盤即將顯示)
- UIResponder.keyboardWillHideNotification(鍵盤即將消失)
NotificationCenter有可以偵測鍵盤顯示消失的項目可以使用,透過監聽顯示、消失可以做對應的動作,利用notification的userInfo裡有一個keyboardFrameEndUserInfoKey可以取得當鍵盤動畫執行完後其鍵盤大小
再利用設定contentInset來增加、減少scrollView的高度來避開鍵盤