UINavigationController介绍:11-代理方法
UINavigationController的代理方法可以监听控制器的入栈和出栈操作,同时UINavigationBar的代理方法可以监听navigationItem的入栈和出栈操作,这两种代理协议需要注意区分。
UINavigationControllerDelegate代理协议
UINavigationController的代理方法可以监听控制器的入栈和出栈操作,一般把目标控制器设置为UINavigationController的代理对象。常用的代理方法有:
- 当源控制器执行Push或者Pop操作后,目标控制器即将显示时调用
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
- 当源控制器执行Push或者Pop操作后,目标控制器已经显示时调用
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
UINavigationBarDelegate代理协议
UINavigationBar的代理方法可以监听UINavigationBar添加NavigationItem的入栈和出栈操作,一般把导航控制器设置为UINavigationBar的代理对象。
- 是否允许调用入栈push方法
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPushItem:(UINavigationItem *)item;
- 入栈push动画播放完成后调用
- (void)navigationBar:(UINavigationBar *)navigationBar didPushItem:(UINavigationItem *)item;
- 是否允许调用出栈pop方法
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item;
- 出栈pop动画播放完成后调用
- (void)navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item;
文章发布时间为: October 28th , 2016 at 05:26 pm
最后编辑时间为: September 13th , 2017 at 03:02 pm
本文由 99ios 创作,转载请注明出处
最后编辑时间为: September 13th , 2017 at 03:02 pm
本文由 99ios 创作,转载请注明出处