8

В новом iOS 7 UINavigationController есть жестом салфетки для переключения между видами. Есть ли способ обнаружить или перехватить жест?iOS 7 uinavigationcontroller, как обнаружить салфетки?

+2

'Я не отключу его'. Вы заставляете это звучать так, будто вы «непослушны» –

+0

Это просто потому, что я читал похожие темы о том, как «отключить жестов салфетки в uinavigationcontroller». Поэтому я хотел быть ясным ^^ – Steven

ответ

27

Интерактивный распознаватель жестов по признаку обнажается через UINavigationControllerinteractivePopGestureRecognizer. Вы можете добавить свой собственный контроллер в качестве мишени жест распознаватель и реагировать соответствующим образом:

@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

Отлично! Я хочу поблагодарить вас. – Steven

7

Вот Austin's answer в Swift. С помощью this post для создания селектора я нашел следующее:

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

это не отвечает за меня ... я просто хотел напечатать «привет» на жесте распознать –

Смежные вопросы