XcodeでiPhoneのマウス/指の座標を取得する方法がわかりません。
私は試した:
NSPoint mouseLoc;
mouseLoc = [NSEvent mouseLocation];
しかし、これはiPhoneでは機能しないようですか?APIはそれを認識しません。
誰かがこれを行う方法を知っていますか?
XcodeでiPhoneのマウス/指の座標を取得する方法がわかりません。
私は試した:
NSPoint mouseLoc;
mouseLoc = [NSEvent mouseLocation];
しかし、これはiPhoneでは機能しないようですか?APIはそれを認識しません。
誰かがこれを行う方法を知っていますか?
これがAppleのドキュメントです:UIResponderクラスリファレンス。また、UIView
またはUIViewController
のサブクラスに次のメソッドを追加できます。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touched = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touched.view];
NSLog(@"x=%.2f y=%.2f", location.x, location.y);
}
cocoaクラスを使用しています。iPhoneの場合、必要なクラスであるcocoa.touchがUIEventにあります。
メソッドallTouchesは、ウィンドウのすべてのtouchesイベントを返します。タッチを取得したら、ビュー内の場所を尋ねることができます。
例:
void event : (UIEvent*) event
{
NSSet* touches=[event allTouches];
for(UITouch* touch in touches)
{
CGPoint point=[touch locationInView: yourView];
<Do what you need to do with the point>
}
}
UITapGestureRecognizerを使用して、画面上の指が触れた場所を認識することができます。このためには、タッチを処理するコントロールにUITapGestureRecognizerオブジェクト/アウトレットを1つ追加する必要があります。たとえば、私の例では、ビューにUITapGestureRecognizerを追加しています。
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fingerTappedHere:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:tapGesture];
self.view.userInteractionEnabled = YES;
- (void)fingerTappedHere:(UITapGestureRecognizer *)sender {
CGPoint touchedPoint = [sender locationInView:self.view];
NSLog(@"x = %f, y = %f", touchedPoint.x, touchedPoint.y);
}
それがあなたを助けることを願っています。詳細については、sales@agicent.comまでお問い合わせください。解決に向けて最善を尽くします。