2013-12-17 12 views
8

W nowym iOS 7 UINavigationController jest gest machnięcia, aby przełączać się między widokami. Czy istnieje sposób na wykrycie lub przechwycenie gestu?iOS 7 uinavigationcontroller jak wykrywać machnięcia?

+2

'Nie będę go wyłączał'. Sprawiasz, że brzmi to tak, jakbyś był "niegrzeczny". –

+0

To dlatego, że czytałem podobne tematy dotyczące "jak wyłączyć gest machnięcia w kontroler uinavigation". Więc chciałem być jasny ^^ – Steven

Odpowiedz

27

Interaktywny moduł rozpoznawania znaków pop jest wyświetlany za pośrednictwem właściwości UINavigationController o wartości interactivePopGestureRecognizer. Możesz dodać swój własny kontroler jako cel do rozpoznawania gestów i reagować odpowiednio:

@implementation MyViewController 

... 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.navigationController.interactivePopGestureRecognizer addTarget:self 
                    action:@selector(handlePopGesture:)]; 
} 


- (void)handlePopGesture:(UIGestureRecognizer *)gesture 
{ 
    if (gesture.state == UIGestureRecognizerStateBegan) 
    { 
     // respond to beginning of pop gesture 
    } 
    // handle other gesture states, if desired 
} 

... 

@end 
+0

Idealny! To właśnie chciałem ci podziękować. – Steven

7

Oto Austin's answer w Swift. Przy użyciu this post do skonstruowania selektora, znalazłem następujące do pracy.

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.navigationController?.interactivePopGestureRecognizer?.addTarget(self, action:#selector(self.handlePopGesture)) 
} 

func handlePopGesture(gesture: UIGestureRecognizer) -> Void { 
    if gesture.state == UIGestureRecognizerState.Began { 
     // respond to beginning of pop gesture 
    } 
} 
+0

to nie odpowiada na mnie ... chciałem tylko wydrukować "cześć" na rozpoznawanie gestów –

Powiązane problemy