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を使った各種センサーの利用

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

SqliteのDBファイル保存+レビュー却下

2回既にレビューを通過していたアプリが、バイナリレビューで却下されてしまいました。理由は、2.23 Details On launch and content download, your app stores 26.48MB on the user's iCloud, which does not comply with the iOS Data Storage となっていてiCouldに保存される量にしては多いから管理してください、といった旨の内容でした。別に却下理由に難癖つけるつもりではないのですが、最初のレビュー時にいってほしい。。。

WatchKitでウォッチに簡単なラベルを表示してみる

前回の記事ではWatchKitのサンプルの画面キャプチャを紹介しましたので、今回は実際にプロジェクトの作成から簡単なラベルを表示する、 簡単な最初の第一歩までを説明します。AppleWatchの細かい説明は後にしてひとまず動作させてみます。

willsetとdidsetでプロパティを監視。意味あるのか???

クラスのプロパティにはWillsetとdidsetという監視用の関数があると聞いたのですが、用途は分かるにしても メリットとしてはどういうものなのかなと、うーん、と考えていました。調べていると海外のサイトでは同じように疑問にもつ質問があがっていました。 getとsetで同じことができるのでは?との私と同じスタンスです。解決されていましたので、順に説明していきます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!