他の多くのものと同様に、私はUINavigationControllerで '戻る'ボタンが使用されているときにアクションを実行したいと思います。私は自分自身のボタンを追加したり、外観を偽ったり、viewWillDisappearを使ったり、ビューが消えるような非バックアクションのタグを設定したりするなど、これに代わるいくつかのアプローチを知っています。UINavigationControllerサブクラス - ポップアップをカスタマイズする
しかし、私が試してみたいのは、UINavigationControllerをサブクラス化してpopViewControllerAnimatedに何かを注入することです:
しかし、私は簡単なテストケースを得ることはできません。ここで私が試したことは...
私はUINavigationControllerから継承する新しいクラスCustomNavigationControllerを作成しました。ここでは、私は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
を、私はナビゲーションコントローラのクラスを変更:
私は何が欠けていますか?このnavコントローラ内のビューをポップするたびに、「ポップ」が記録されることを期待しています。
ありがとう - テストプロジェクトでも同じことが確認されました。私は他の場所でそれを追跡しようとします –