0

XcodeでiPhoneのマウス/指の座標を取得する方法がわかりません。

私は試した:

NSPoint mouseLoc;
mouseLoc = [NSEvent mouseLocation];

しかし、これはiPhoneでは機能しないようですか?APIはそれを認識しません。

誰かがこれを行う方法を知っていますか?

4

3 に答える 3

4

これが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);
}
于 2012-11-14T10:58:09.257 に答える
2

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>
    }
}
于 2012-11-14T10:55:44.750 に答える
1

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までお問い合わせください。解決に向けて最善を尽くします。

于 2012-11-14T11:20:17.847 に答える