0

iOSデバイスでタッチイベントが処理される方法を調査しています。私はこの本を参照しました:iOS OpenApplicationDevelopment。そのために、mouseDown、mouseUpメソッドをオーバーライドし、アラートボックスに座標を表示しています。ただし、オーバーライドされたメソッドが呼び出されることはありません。以下は、UIViewから派生したnewViewクラスのコードです。

-(void) _mouseDown: (GSEventRef) event{
CGPoint point =GSEventGetLocationInWindow(event);
UIAlertView* alert;
NSString* alertString =[NSString stringWithFormat: @"%f %f", point.x, point.y];
alert = [[UIALertView alloc] initWithTitle:@"Success" message:alertString delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}

-(BOOL) canHandleGestures{
return YES;
}

足りない部分はありますか?また、タッチイベントに関する情報を取得して処理する別の方法はありますか?

4

3 に答える 3

4

より良い出発点はここにあります: https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/multitouch_background/multitouch_background.html

これらは、UIView サブクラスでオーバーライドできるメソッドです。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
于 2013-01-21T09:59:09.803 に答える
3

使用できます:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {}

UIView サブクラスからタッチ イベントを取得します。

于 2013-01-21T10:00:14.053 に答える
1

使用する必要がありますgesturerecognizeruitapgesturerecognizeruiswipegesturerecognizerUITouchイベントなど

于 2013-01-21T10:02:30.043 に答える