2013-07-02 55 views
0

根據Pan gesture值觸發method的最佳方法是什麼?目標C:在泛值觸發方法

當我的pan location x介於500到600之間時,我想觸發method。人們通常如何處理?

回答

0

您需要重寫gestureRecognizerShouldBegin。然後,您可以檢測到translation.x並查看值之間的位置。

- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)panGestureRecognizer { 
    CGPoint translation = [panGestureRecognizer translationInView:self.view]; 
    if (translation.x > 500 && translation.x < 600) 
     [self callCustom]; 
    return true; 
} 

- (void) callCustom { 
//do what you need to do 
} 
0

我假設你有一個處理平移手勢的方法。使該方法看起來像這樣。

- (void)handlePan:(UIPanGestureRecognizer *)recognizer { 

    if (recognizer.state == UIGestureRecognizerStateChanged) { 

     CGPoint movement = [recognizer translationInView:self.view]; 

     if (movement.x >= 500 && movement.x <= 600) { 

      [self methodToCall]; 
     } 
    } 
} 
+0

如果我只想調用一次方法該怎麼辦?說我想啓動特定的UIView。根據你給出的建議,只要你的鍋仍然在繼續,它會繼續調用這個方法。謝謝! – sooon

+1

我會在第一次調用方法時使用一個'BOOL'變量,並將其設置爲YES,然後設置一個if條件,如果您的變量設置爲NO,則只調用您的方法。 – SeanT