iOS7 NavigationController 右滑手勢問題

在iOS7中,新增長了一個小小的功能,也就是這個api:
self . navigationController . interactivePopGestureRecognizer.enabled = YES;

這個api功能就是在NavigationController堆棧內的UIViewController能夠支持右滑手勢,也就是不用點擊右上角的返回按鈕,輕輕在屏幕左邊一滑,屏幕就會返回,隨着ios設備屏幕的增大,這個小功能讓手指短,拇指大和手殘人士看到了福音。

這個功能是好,可是常常咱們會有需求定製返回按鈕,若是手動定製了返回按鈕,這個功能將會失效,也就是自定義了navigationItem的leftBarButtonItem,那麼這個手勢就會失效。解決方法找到兩種
 
1.從新設置手勢的delegate

self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

2.固然你也能夠本身響應這個手勢的事件


[self.navigationController.interactivePopGestureRecognizer addTarget:self action:@selector(handleGesture:)];

若是想保留系統的邊緣手勢, 還想修改leftBarButtonItem
在基類的ViewController中 實現以下方法,可達到保留返回方法和箭頭樣式,並修改文字的目的
UIBarButtonItem *bar = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = bar;
特別注意: 基類
相關文章
相關標籤/搜索