学習記録帳&Apps

学習記録帳と、同じ開発者によるその他のAppに関する公式ページです。

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