DRPageTracker 是一个用于追踪 ViewController 是否显示的 iOS 类,使用了 OC 的 runtime 功能,比较轻量,对现有代码结构无影响
pod 'DRPageTracker'
以上就是所有步骤
运行您的应用(调试模式),在 App 中打开任意几个 ViewController,然后您就可以在日志中找到类似以下的内容
UINavigationController
HomeViewController
UIInputWindowController
PageViewController
HomeViewController
PageViewController
HomeViewController
...
如果您已经有一个对 UIViewController#viewDidAppear
方法的修改,这个 Pod 可能不会工作,请小心使用。
由于分类是在 UIViewController 上,它只修改了 UIViewController 的 viewDidAppear 方法(基础类),如果子 UIViewController(实现了自己的 viewDidAppear)想要打印日志,必须先调用 super viewDidAppear 方法
// UserViewController
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated]; // must call
}
DRPageTracker 是一个用于追踪 ViewController 是否显示的库,它利用了 OC 的 runtime 功能,相对轻量,对现有代码结构无影响
pod 'DRPageTracker'
安装完毕后运行即可看到效果,无需任何代码集成
运行您的工程(调试模式下),在 App 中打开任意几个 ViewController,然后您就可以在日志中找到类似以下的内容
UINavigationController
HomeViewController
UIInputWindowController
PageViewController
HomeViewController
PageViewController
HomeViewController
...
如果您的代码中已经存在对 UIViewController#viewDidAppear
方法的修改,那么再使用 DRPageTracker 可可能导致冲突,请谨慎使用
DRPageTracker 只实现了 UIViewController 的 Category,因此如果子类调用,需要在 viewDidAppear 中首先调用 [super viewDidAppear:animated] 方法,如果子类没有实现 viewDidAppear 方法,则无需任何处理
// UserViewController
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated]; // must call
}