自定义navigation(导航栏)
来源:互联网 发布:阿尔法收益 知乎 编辑:程序博客网 时间:2024/05/21 09:53
(1)隐藏系统默认的导航栏:
自定义一个NavigationController,在这个类里只做一件事情,那就是隐藏系统默认的导航栏,代码如下:
因为我是在storyboard中实现的,所以在awakeFromNib方法中隐藏默认的导航栏。
另外需要注意的是:不能直接用self.navigationBarHidden = YES来隐藏导航栏,因为用这个属性的话,系统默认的右滑返回手势就没有了,切记,一定要用self.navigationBar.hidden = YES来隐藏,并将self.navigationBarHidden的值设为YES(默认就是YES,所以可以不用加这句)。
(2)自定义一个NavigationBar:
根据自己的需求,自定义一个NavigationBar,我在这里自定义了一个UIView的子类,叫YSNavigationBar,用Xib实现的,我把这个View分成了3部分,左边的按钮,中间的标题,右侧的按钮,模拟一下系统默认的导航栏,实现起来也很简单,代码如下:
YSNavigationBar.h:
YSNavigationBar.m:
YSNavigationBar.xib:
(3)在原来导航栏的位置放置自定义的NavigationBar:
现在默认的导航栏已经隐藏了,自定义的导航栏也有了,下面就要进行最后一步了,那就是在原来导航栏的位置放置自定义的NavigationBar。因为可能会有很多页面需要自定义导航栏,所以我们需要一个父类,所有需要自定义导航栏的VC都继承它。自定义一个UIViewController的子类YSBaseViewController,将这个类作为所有需要自定义导航栏的VC的父类,代码如下:
YSBaseViewController.h:
YSBaseViewController.m:
到这里,我们的工作基本已经完成,下面需要做的就是继承YSBaseViewController这个类,就OK了!
因为UIView默认是不能直接创建Xib文件的,所以我在这里写了一个UIView的Category,用来加载Xib,代码如下:
0 0
- 自定义navigation(导航栏)
- 自定义导航栏(navigation-bar.1.0.0.js)
- Android自定义控件,可以滑动的导航栏(Navigation Bar)
- 导航栏视图控制器(navigation controller)
- 导航栏(Navigation)上多个点击事件
- 导航栏 Navigation
- ios自定义导航navigation,设置navigation的背景图,navigation左边按钮,以及navigation字体颜色
- Web Navigation(Web导航)
- JSF导航规则(Navigation)
- navigation导航中导航栏的设置
- iOS学习笔记——导航栏(Navigation)
- Android Navigation Drawer(抽屉导航栏视图)
- iOS开发Navigation 导航栏渐变
- 底部导航栏Bottom navigation规范指南
- (翻译)导航标签( Navigation Tabs)
- jsf 的导航演示(navigation)
- iOS 导航条(navigation)
- Confluence 导航地图(Navigation Map)宏
- scala函数式编程使用示例
- Yii2.0-advanced-8—主题配置(themes)
- linux安装glibc版mysql,实测成功 333333333333333
- 需要了解的注解
- Mac OS X上搭建本地SVN服务器
- 自定义navigation(导航栏)
- activity生命周期分析
- 物理内存 虚拟内存
- 替换空格
- 深入浅出Docker(五):基于Fig搭建开发环境
- Android性能优化第(四)篇---Allaction Tracing追踪内存分配的轨迹
- 利用Myeclipse自动生成webService客户端代码
- 摄像机平滑跟随
- 使用OKHttp进行网络访问