新浪微博客户端(2)-自定义导航控制器,统一NavigationItem
2016-10-13 21:46
309 查看
继承系统提供的UINavigationViewController,拦截并重写其push方法。
最终效果:
#import "DJNavigationController.h" @implementation DJNavigationController - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { if (self.viewControllers.count > 0) { // 自定义左上角按钮 UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [backBtn setBackgroundImage:[UIImage imageNamed:@"navigationbar_back"] forState:UIControlStateNormal]; [backBtn setBackgroundImage:[UIImage imageNamed:@"navigationbar_back_highlighted"] forState:UIControlStateHighlighted]; backBtn.size = backBtn.currentBackgroundImage.size; [backBtn addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn]; viewController.navigationItem.leftBarButtonItem = leftItem; // 自定义右上角按钮 UIButton *homeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [homeBtn setBackgroundImage:[UIImage imageNamed:@"navigationbar_more"] forState:UIControlStateNormal]; [homeBtn setBackgroundImage:[UIImage imageNamed:@"navigationbar_more_highlighted"] forState:UIControlStateHighlighted]; homeBtn.size = homeBtn.currentBackgroundImage.size; [homeBtn addTarget:self action:@selector(home) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:homeBtn]; viewController.navigationItem.rightBarButtonItem = rightItem; viewController.hidesBottomBarWhenPushed = YES; } [super pushViewController:viewController animated:animated]; } // 弹出当前控制器 - (void)back { [self popViewControllerAnimated:YES]; } // 弹出到根控制器 - (void)home { [self popToRootViewControllerAnimated:YES]; } @end
最终效果:
相关文章推荐
- 自定义导航控制器,统一设置Push的时候隐藏底部的tabbar
- 新浪微博-03 自定义导航栏控制器
- 自定义导航控制器,统一设置Push的时候隐藏底部的tabbar
- 自定义UINavigationController(导航控制器)
- iiphone开发我的新浪微博客户端-用户登录自定义弹出窗口篇(1.2)
- iOS 自定义导航控制器UINavigationController
- iOS自定义导航控制器侧滑返回的多种实现方法
- 自定义导航控制器在出栈的时候怎样清楚右侧按钮?
- 新浪微博客户端(36)-自定义带placeholder的TextView
- 问题:分页导航--子视图控制器自定义实现
- 导航控制器push自定义
- 自定义导航控制器的滑动返回效果
- 自定义导航控制器
- 自定义导航控制器的titleView实现多控制器的切换
- Swift之UITabBarController 导航控制器的自定义
- 统一添加导航控制器右滑返回手势
- iOS在自定义视图(常用于自定义cell)中获取导航控制器上面的当前的控制器对象
- IOS博客项目搭建-02-自定义底部导航控制器UITabBarController
- 新闻客户端03 - 包装导航控制器
- 【新浪微博项目】07--设置navigationItem和自定义TitleButton