アプリの開発と収益に関する実験的遊戯

ちょっとしたアプリで日々を少し楽しく

【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)
    }
プライバシーポリシー / お問い合わせ