2015-08-14 89 views
2

有時當用戶回到之前的UIViewController時,我想做點什麼。在iOS中是否有回撥手勢?

如果用戶點擊UINavigationBar中的後退按鈕,我可以捕獲事件。

但是,如果他們使用向後滑動手勢返回,我無法迴應變化。

所以有刷卡回手勢的回調?

目前我只能在我的應用程序通過

interactivePopGestureRecognizer.enabled = NO; 
+0

viewWillDissapear/viewDidDisappear沒有做你想做的事嗎? – Tander

+0

@Tander還有其他一些操作,比如推送新的'UIViewController',這會導致'viewWillDisappear'。我只想勾住後面的動作。 –

回答

2

禁用這種頁嘗試this.It給你一些什麼更好的解決辦法。

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIScreenEdgePanGestureRecognizer *gesture = (UIScreenEdgePanGestureRecognizer*)[self.navigationController.view.gestureRecognizers objectAtIndex:0]; 
     [gesture addTarget:self action:@selector(moved:)]; 
} 

在目標方法中。

-(void)moved:(id)sender{  
    // do what you want 

//finally remove the target 
    [[self.navigationController.view.gestureRecognizers objectAtIndex:0] removeTarget:self action:@selector(moved:)]; 
}