UIScrollView の keyboardDismissMode を設定してドラッグ時に自動でキーボードを閉じる
環境: Xcode8.2.1, Swift3
UIScrollView 上に UITextField / UITextView を乗せている場合はkeyboardDismissMode
プロパティを設定することで自動でキーボードを閉じることができる。
Storyboardの場合
コードの場合
// デフォルト設定。UIScrollView をドラッグしてもキーボードは閉じない self.scrollView.keyboardDismissMode = .none // dismisses the keyboard when a drag begins // UIScrollView のドラッグ開始時にキーボードを閉じる self.scrollView.keyboardDismissMode = .onDrag // the keyboard follows the dragging touch off screen, and may be pulled upward again to cancel the dismiss // UIScrollView を下方向ドラッグで上にスクロールするのに合わせてキーボードを閉じる self.scrollView.keyboardDismissMode = .interactive
Dissmiss on drag
設定時は UIScrollView のドラッグを開始するとすぐキーボードが閉じられる。
これを設定しておけばよさそう。
Dissmiss interactively
設定時の挙動は以下のようになる。