Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > UIResponder

UIResponder

UIResponderサンプル

イベントの処理を管理するクラス。存在が薄いですがとても大切なインターフェース。UIViewやUIApplication等のスーパークラス。タッチイベントやモーションイベントを このクラスが管理していますので、アプリ開発には既にそれらイベントを保有していることになります。

UIResponderのクラス階層

NSObject

UIResponder
- SKNode
- UIApplication
- UIView
- UIViewController


参考:UIKit Framework Reference UIResponder Class Reference
参考:Swiftでラベルのタッチを検知する方法
参考:【Tips】iOSでシェイクジェスチャーを検知する

タッチイベントの数々

UIViewController.swiftに以下をコピペするとログが表示されます。touchesBeganは押した直後、Moveは押下しながらマウスを動かした時、 touchesEndedは終わった時。touchesCancelledはすこし特殊で規定以上の指でタッチする(5本以上=6本等)と発生します


    override func touchesBegan(touches: NSSet,withEvent event: UIEvent){
        println("touchesBeganが呼ばれました");
    }
    override func touchesMoved(touches: NSSet,withEvent event: UIEvent){
        println("touchesMovedが呼ばれました");
    }
    override func touchesEnded(touches: NSSet,withEvent event: UIEvent){
        println("touchesEndedが呼ばれました");
    }
    override func touchesCancelled(touches: NSSet,withEvent event: UIEvent){
        println("touchesCancelledが呼ばれました");
    }

UIResponderサンプル

モーションイベントの数々

端末を振ったときに実行されるイベントです。シェイクした時。これを利用する為には以下のcanBecomeFirstResponderを オーバーライドしてtrueを返す準備が必要です


   override func canBecomeFirstResponder() -> Bool {
        return true
    }

この状態で以下をコピペしてください。シェイクの前後に呼ばれます(キャンセルは判断不能な時等にコールされる)。


    override func motionBegan(motion: UIEventSubtype,withEvent event: UIEvent){
        println("motionBeganが呼ばれました");
    }
    override func motionEnded(motion: UIEventSubtype,withEvent event: UIEvent){
        println("motionEndedが呼ばれました");
    }
    override func motionCancelled(motion: UIEventSubtype,withEvent event: UIEvent){
        println("motionCancelledが呼ばれました");
    }

motionEventという名称なので加速度イベントかなとも思うのですが違います。加速度の場合は別のクラス(CoreMotionFramework)を 利用します。
参考:モーションイベントサンプル3 - CoreMotionを使った各種センサーの利用

↓こんな記事もありますよ!

デバッグ時とリリース時に処理を変更する#ifdef DEBUG のやり方

DEBUG時だけ特定の動作をさせて、リリース時に排除したい、そんな時に利用する方法です。Swiftでは標準ではDEBUGとリリースの判断がつかないので、 コンパイル時に設定する必要があります

presentViewControllerで画面遷移下からビョーン

下からビョーンとUIViewControllerを出す方法を記載します。この処理も多用していたのですがこのHPになかったので追記しました。 Navigationと連動させた横へシャーと移動するスライドの関数(pop)とは違うので注意です。

UINavigationController

TabBarとUITableViewControllerを利用して一つのUIViewControllerだけをクリックすると右にスライドするUINavigationControlerを 利用したサンプルを記載します。というのも、AppDelegate内でUINavigationをself.windowのrootviewcontrollerにセットする 方法は多々あったのですが、AppDelegate内を利用しないでNavigationを実装する方法がなくハマっていましたのでを以下記載します
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!