LoginSignup
0
0

More than 5 years have passed since last update.

EurekaでkeyboardDismissMode = .interactiveにしてもインタラクティブにならない問題を解決する方法

Posted at

事象

Swiftのフォーム生成ライブラリEurekaを使用していますが、keyboardDismissMode = .interactiveにしてもインタラクティブにならず、onDragを指定した状態になってしまう問題が発生しました。

解決方法を確認したのでメモしておきます。

scrollViewWillBeginDragging をオーバーライドする

FormViewControllerの実装を確認すると、UIScrollViewDelegateの実装の中で、キーボードのハンドリングをしていました。

extension FormViewController : UIScrollViewDelegate {

    // MARK: UIScrollViewDelegate

    open func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        guard let tableView = tableView, scrollView === tableView else { return }
        tableView.endEditing(true)
    }
}

tableView.endEditing(true)によって、キーボードを非表示にしているようです。

そのため、FormViewControllerを継承ているViewController側で、scrollViewWillBeginDraggingをオーバーライドして、keyboardDismissMode.interactiveに設定することで、キーボードをインタラクティブに非表示にすることができます。

override func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 
}    
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0