先看問題:
在側(cè)滑根控制器之后App出現(xiàn)了假死現(xiàn)象(在當(dāng)前頁面無法進(jìn)行任何操作),這是因為我們在點擊紅色按鈕的時候已經(jīng)進(jìn)行了頁面的跳轉(zhuǎn)但App顯示給我們的還是當(dāng)前頁面攀涵。
解決問題:
我們只需要在跟控制器中禁止側(cè)滑即可管行。
代碼:
self.interactivePopGestureRecognizer.delegate = self; // 為什么加上這行代碼就會出現(xiàn)App假死呢
if (navigationController.childViewControllers.count == 1) { // 防止屏幕假死
self.interactivePopGestureRecognizer.enabled = NO;
}else{
self.interactivePopGestureRecognizer.enabled = self.interactivePopGestureRecognizerEnable;
}
如果使用全屏側(cè)滑同樣會出現(xiàn)這個問題岔帽,解決問題的方法是相同的,即在根控制器中禁止側(cè)滑轿曙。
代碼:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
if (self.childViewControllers.count == 1) { // 防止屏幕假死
return NO;
}else{
return YES;
}
}
下面是一個小demo今艺,demo中有添加全屏側(cè)滑的方法以及在某個頁面中禁用側(cè)滑的方法韵丑。
demo地址: ***https://gitee.com/liangsenliangsen/sideslip.git
注意:
- 禁用某個頁面的側(cè)滑手勢,需要注意禁用和開啟的時機虚缎,如果時機不對撵彻,會造成頁面假死。
- 導(dǎo)航欄的返回按鈕如果是自定義的,系統(tǒng)的側(cè)滑返回會自動失效千康。
****本篇文章到這里就結(jié)束了享幽,愿大家加班不多工資多,男同胞都有女朋友拾弃,女同胞都有男朋友值桩。??***