與其他許多人一樣,我想在UINavigationController中使用「後退」按鈕時執行操作。我知道一些替代方法,例如添加我自己的按鈕並嘗試欺騙外觀,使用viewWillDisappear並在所有非後退操作上設置標籤,以使視圖消失等。UINavigationController子類 - 自定義Pop
但是我想嘗試的是繼承UINavigationController並在popViewControllerAnimated中注入一些東西:
但我無法獲得簡單的測試用例。這是我試過的...
我創建了一個新類CustomNavigationController,它繼承自UINavigationController。在這裏,我更新popViewControllerAnimated:
.H:
#import <UIKit/UIKit.h>
@interface CustomNavigationController : UINavigationController
@end
.M:
#import "CustomNavigationController.h"
@interface CustomNavigationController()
@end
@implementation CustomNavigationController
- (UIViewController *)popViewControllerAnimated:(BOOL)animated{
NSLog(@"pop!");
return [super popViewControllerAnimated:animated];
}
@end
在Interface Builder中,我改變了類導航控制器:
我錯過了什麼?我希望每當我在這個導航控制器中彈出任何視圖時都會記錄'pop'。
謝謝 - 我剛剛在一個測試項目中也證實了這一點。我會盡力在其他地方追蹤它 – 2012-04-11 18:01:29