自定义NavigationBar
在日常的项目开发中,NavigationBar是我们经常用到的一个控件,当然,系统已经提供了足够好的方案供我们使用,但是总归有一些比较特殊的需求,这时候系统所提供的NavigationBar也不是就不能满足需求,但是使用起来也会比较棘手。这里,我自定义了一个NavigationBar,基本满足日常的开发需求,当然,真正的特殊需求,特殊处理嘛!
思路:
1、自定义的NavigationBar提供三种可选Style。
①正常。一切显示正常
②完全隐藏。
③只显示Items,但是不显示Bar的背景相关
2、对于阴影线
①显示或者隐藏
②设置背景色或者背景图片
3、对于items
①文字宽度动态计算
②图片Size根据提供的Image获取
③自定义的View根据提供的属性获得
4、在显示方面
①默认以显示items为主,动态压缩Title的宽度
5、使用方面
①只需要在BaseVC里面添加一句话即可
②在每一个单独的VC里面使用和系统所提供的方法类似
③单独提供了一个点击Bar空白处的代理方法(可选)
6、引用
①该封装使用了Masonry,所以需要自行引入
②引入所提供的文件夹,并在.pch文件中引入先关头文件(一个即可)
下面是我在GitHub上的Demo地址。
有不到位的地方,希望不吝指正,谢谢~