読者です 読者をやめる 読者になる 読者になる

【Swift】UIScrollViewのサブクラスを作ってタッチイベントを取得する

UIScrollViewの中ではtouchesBegan, touchesMoved, touchesEndedなどのタッチイベントを呼ぶことができない。

この場合UIScrollViewのサブクラスを作って、その中にtouch関連のイベントをoverrideするのが常套手段らしい。

Swiftでのサンプルコードが探してもなかなか出てこなかった…

import Foundation
import UIKit

class TouchScrollView: UIScrollView {

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        println("touchbegan")
    }
    
    override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
        println("touchmoved")
    }
    
    override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
        println("touchended")
    }
}