アプリ開発の秘密基地

普段は数値計算系のプログラム書いてます。プライベートでやっていることを雑多に書き留めていきます。

【Swift5】ScrollView内のタッチイベントを検知してキーボードをしまう

f:id:ibarakito:20190723235723p:plain

ScrollViewのタッチイベントを検知するのは結構よくある需要だと思うのでメモしておきます。

ScrollViewのタッチイベントを拾ったらsuperviewのタッチイベントを呼び出す、といった形にtouchesBeganをオーバーライドしたMyScrollViewを作ります。

class MyScrollView: UIScrollView {
    
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
         superview?.touchesBegan(touches, with: event)
    }
}

ViewControllerのタッチイベントでendEditingを呼び出すとキーボードが仕舞われます。

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        self.view.endEditing(true)
    }
プライバシーポリシー / お問い合わせ