1

私は IOS プログラミングの初心者です...現時点ではメソッドに慣れていません。設定は次のとおりです。私は呼び出された関数を持っています。この関数では、1 回のタップを待ってから、新しい ViewController を生成したいと考えています。タップの CGPoint だけが必要で、次のステップに進みます。しかし、touchesEnded をキャプチャできるメソッドがあるかどうかはわかりません。あるいは、私の考えが間違っているのかもしれません。誰か私にいくつか提供してもらえますか?

タッチが終了した直後に新しいviewControllerを作成すると、modelDetectの後に何も起こりません(必須です)。タッチする前にアプリケーションが終了します。

だから今はわからない。

本当にありがとうございました。

- (void)modelDetect
{
 //wait for touches....then
 [self addNewViewController]; 
}


- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event  
{
   NSLog(@"touch happens");
   UITouch *touch = [touches anyObject];
   Location = [touch locationInView:self.view];      
}
4

1 に答える 1

2

あなたはそれを使っUITapGestureRecognizerてあなたの問題を解決することができます

UITapGestureRecognizer *rec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(userTapped:)];
[self addGestureRecognizer:rec];


- (void)userTapped:(UITapGestureRecognizer *)recognizer
{
    if(recognizer.state == UIGestureRecognizerStateRecognized)
    {
        CGPoint point = [recognizer locationInView:recognizer.view]; 
        // point.x and point.y  touch coordinates
         NSLog("%lf %lf", point.x, point.y);

        // here you could call your method or add the new view controller which you want
         [self addNewViewController]; 
    }
}

ポイントを取得するには、touchesEndedCGPointを使用する必要があります

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *aTouch = [touches anyObject];
    CGPoint point = [aTouch locationInView:self];
    // point.x and point.y touch coordinates
    NSLog("%lf %lf", point.x, point.y);
}
于 2013-03-10T02:23:33.537 に答える