2011-08-01 12 views
0

私は私のUIViewに触れています。 touchesEndedが呼び出されないように、タッチをキャンセルするためにabelしたい状況がいくつかあります。しかし、何が触れても問題ありません.Endedはいつも呼ばれるでしょうか?iPhone - タッチしてキャンセルする?

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if (SOMETHING_SPECIAL) 
    { 
     [super touchesCancelled:touches withEvent:event]; 
    } 
} 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    //I don't want it to get here if touches were canceled how can i do this? 
} 

- 私のtouchesEndedでどのように私はタッチがキャンセルされたかどうか確認できますか?あなたのタッチがどこキャンセルまたはないどこ

答えて

1

TouchesEnded常に呼び出されますので、私はその正確持つ代わりに示唆している:あなたは

if (SOMETHING_SPECIAL) 
    { 

    } 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
+0

しかし、タッチがUIViewフレームから外れているときにタッチイベントをキャンセルしたいと思います。それがほとんどのUI要素が機能する方法です、私は同じパターンに従っています。 – aryaxt

+0

@Aryaxtあなたが何を意味するかを見て、それが可能かどうかわかりません。 –

+0

タッチを開始するときにNOに設定し、ビューの境界からタッチを移動するときにYESに設定するBOOLフラグを使用してしまいました。 – aryaxt

関連する問題