iOS左側滑動返回

在iOS7之後使用導航控制器來管理視圖控制器的話,默認是支持左側滑動返回的,但是如果更改了導航控制器的Item,那麼默認左側返回的功能就失效了。
這裏寫圖片描述
下面介紹如何自定義Item還能支持左側滑動返回:
1.要自己創建一個繼承自UINavigationController的類,並且導航控制器使用它
這裏寫圖片描述

2.在自己創建的導航控制器中添加手勢返回

這裏寫圖片描述

這裏要打遵守協議,並且要用__weak防止循環引用。

3.在rootViewController中設置手勢代理

//遵守<UIGestureRecognizerDelegate>協議
self.navigationController.interactivePopGestureRecognizer.delegate = self;

//調用下面的方法判斷是否是rootViewController 如果不判斷會有Bug出現
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    if (self.navigationController.viewControllers.count == 1)
    {
        return NO;
    }
    else
    {
        return YES;
    }
}

這樣就搞定了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章