UIResponder
UIResponderクラスは、画面タッチやデバイスのシェイクなどのイベントを管理するクラスです。
UIKitFrameworkのクラスはほとんどがこのクラスを継承しています。
UIResponderのクラス階層
NSObject
↑
UIResponder
UIResponderのメソッド
メソッド名 | 説明 |
---|---|
-(BOOL)isFirstResponder | ファーストレスポンダかどうかの判定 |
-(UIResponder *)nextResponder | 次順のレスポンダを返す |
-(BOOL)becomeFirstResponder | ファーストレスポンダにする |
-(BOOL)resignFirstResponder | ファーストレスポンダでなくす |
主要なメソッドのみ掲載しています。
上記「UIResponderのクラス階層」にあるクラスのメソッドも使用できます。
UIResponderのデリゲートメソッド
メソッド名 | 説明 |
---|---|
-(void)touchesBegan: (NSSet *)touches withEvent:(UIEvent *)event |
タッチした時に呼ばれるメソッド ※touchesの中身はUITouchクラス |
-(void)touchesMoved: (NSSet *)touches withEvent:(UIEvent *)event |
ドラッグした時に呼ばれるメソッド ※touchesの中身はUITouchクラス |
-(void)touchesEnded: (NSSet *)touches withEvent:(UIEvent *)event |
画面タッチが外れた時に呼ばれるメソッド ※touchesの中身はUITouchクラス |
-(void)touchesCancelled: (NSSet *)touches withEvent:(UIEvent *)event |
割り込みイベント等により画面タッチがキャンセルされた時に呼ばれるメソッド |
-(void)motionBegan: (UIEventSubtype)motion withEvent:(UIEvent *)event |
モーションイベントの開始を検知した時に呼ばれるメソッド |
-(void)motionEnded: (UIEventSubtype)motion withEvent:(UIEvent *)event |
モーションイベントの終了を検知した時に呼ばれるメソッド |
-(void)motionCancelled: (UIEventSubtype)motion withEvent:(UIEvent *)event |
割り込みイベント等によりモーションイベントがキャンセルされた時に呼ばれるメソッド |
主要なメソッドのみ掲載しています。
UIResponder例文
// タッチされた場所の座標を取得する
CGPoint p = [[touches anyObject] locationInView:self.view];
float x = p.x; // X座標
float y = p.y; // Y座標
※上記のtouchesBegan、touchesMoved、touchesEnded、touchesCancelledデリゲートメソッド内に記述します。