iOS7之后蘋果就添加了邊緣側(cè)滑返回這個功能咪辱,對于蘋果軟件的操作體驗有很好的提升境钟,但是這種操作在有些地方會被系統(tǒng)屏蔽掉缺前,如在一個viewController中添加了scrollView或者tableView的時候。由于這些控件里面都有ScrollView,邊緣側(cè)滑返回的時候會首先觸發(fā)ScrollView滾動而失效诫隅,導(dǎo)致側(cè)滑手勢失效,但是大部分時候我們并不需要ScrollView的橫向滾動帐偎,所以這個時候有邊緣側(cè)滑返回就會很好的提升用戶體驗要解決這個問題只需要在ViewDidload中添加以下代碼:
if([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)])?{
? ? ? ?self.navigationController.interactivePopGestureRecognizer.delegate =self;
? ? ? ? ?self.navigationController.interactivePopGestureRecognizer.enabled = YES;???
}
此方法可以使在webView和ScrollView中的側(cè)滑失效問題得以解決逐纬,恢復(fù)iOS系統(tǒng)的側(cè)滑返回操作;優(yōu)化操作體驗削樊;但是回到navigationController的最頂層的Controller的時候再次側(cè)滑之后豁生,點擊某個要push頁面的地方兔毒,就會造成軟件假死,怎么劃都沒用甸箱。解決辦法:回到navigationController最上層頁面的時候?qū)崿F(xiàn)以下方法:
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
即在最上層頁面不側(cè)滑返回的時候把的話返回手勢關(guān)閉掉即可解決這個假死問題育叁,