2016-10-18 3 views
0

私は、ユーザがタップしているのか長く押しているのかを認識する必要があるボタンを持つカスタムセルを持っています。私は両方を認識することができますが、長いプレスジェスチャーは、ボタンが長く押されたときに前のセルは何もしませんが、最も最近のセルのためにのみ動作します。tableViewController内のセルを識別できるカスタムセルボタンのジェスチャ認識機能を作成するにはどうすればよいですか?

//ここでは、私は私のcellForRowAtIndexPathで持っているものである

self.longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPressGestures:)]; 
longPress.minimumPressDuration = 1.0f; 
longPress.allowableMovement = 300.0f; 

[cell.button addGestureRecognizer:longPress]; 

// LP

をテスト
  • (無効)handleLongPressGestures:(UILongPressGestureRecognizer *)送信者

{ 場合([送信者isEqual:self.longPress]){

if(sender.state == UIGestureRecognizerStateBegan){ 
     [self performSegueWithIdentifier:@"changeValues" sender:self]; 
    } 
} 

}

それだけで作られた最新のセルのために働くので、私も視野にlongPressプロパティの初期化を移動しようとした負荷を行なったし、セルの作成上のボタンに割り当てるしかし、私はまだ同じ結果を得ました。このようなことに誰かが洞察力を持っているなら、本当に感謝します。

答えて

0

この方法は私のために働いて、それがジェスチャー認識を使用しませんが、それは他の誰かが同じ問題に出くわした包み私はので、私はそれをポストだろうしてもそれを望んでいたものやるん

- (IBAction)numberAvailablePressed:(id)sender { 

    pressedDown = NO; 

} 

- (IBAction)numberAvailableTouchedDown:(id)sender { 
    pressedDown = YES; 


    [NSTimer scheduledTimerWithTimeInterval:3.0 
            target:self 
            selector:@selector(checkIfPressed) 
            userInfo:nil 
            repeats:NO]; 

} 

-(void)checkIfPressed 
{ 
    if(pressedDown == YES) 
    { 
     [self performSegueWithIdentifier:@"changeValues" sender:self]; 
    } 
} 
関連する問題