BugFender有一个名为UI Logging的功能。例如,当视图控制器出现在屏幕上并记录信息时,它的作用就是监视器。另一个例子是触摸按钮时:
Fri Aug 25 2017 08:24:30 GMT+0200 (CEST) UI Front-most view controller: SettingsViewController (title: "Settings")
Fri Aug 25 2017 08:24:35 GMT+0200 (CEST) Interaction Action [UIBarButtonItem _sendAction:withEvent:] by sender UINavigationButton (title:"Log Out")
Fri Aug 25 2017 08:24:35 GMT+0200 (CEST) Interaction Action [SettingsViewController logOut:] by sender UIBarButtonItem (title:"Log Out")
Fri Aug 25 2017 08:24:36 GMT+0200 (CEST) UI Front-most view controller: UIAlertController
我想实现具有相同的功能。
如何观察我的应用中的所有视图控制器的外观/消失?
到目前为止,我发现,我可以观察UINavigationControllerDidShowViewControllerNotification
次通知。但是,这不会记录UITabBarViewController中的日志更改,或者视图控制器以模态方式呈现而不包含在UINavigationController中。
答案 0 :(得分:0)
其中一种方法是添加基类(比如说BaseViewController)并覆盖基类的viewWillAppear
和viewWillDisappear
方法以观察更改。
您的所有其他viewControllers都将是此BaseViewController的子类。