[发明专利]基于协议自定义iOS导航栏样式的方法在审
申请号: | 202010473981.7 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111901370A | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 邓利文 | 申请(专利权)人: | 大数金科网络技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F16/954;G06F9/451 |
代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 宫建华 |
地址: | 610000 四川省成都市中国(四川)自由贸易*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 协议 自定义 ios 导航 样式 方法 | ||
本发明涉及APP开发领域,具体涉及一种工作量少、不会对已有项目入侵、利于第三方组件页面接入的基于协议自定义iOS导航栏样式的方法。本发明的基于协议自定义iOS导航栏样式的方法,首先声明自定义导航栏样式协议;页面控制器遵循自定义导航栏样式协议;自定义导航控制器,并重写系统转场方法;在导航控制器转场动画中判断页面控制器是否遵守自定义导航栏样式协议并根据判断结果设置转场前后页面控制器导航栏样式,完成转场动画方法。与现有技术相比,不需要在每个页面控制器中进行自定义导航栏,也不用对系统方法进行修改,也无需要求页面控制器必须继承于自定义的基类页面控制器,具有工作量少、不会对已有项目入侵、利于第三方组件页面接入的特点。
技术领域
本发明涉及APP开发领域,具体涉及一种工作量少、不会对已有项目入侵、利于第三方组件页面接入的基于协议自定义iOS导航栏样式的方法。
背景技术
在iOS应用开发过程中,出于产品需求,页面间导航栏样式并不统一,其需要自定义的样式包括:导航栏背景色、是否隐藏导航栏、导航栏标题颜色、导航栏返回按钮样式等。例如:A页面导航栏背景色为红色,B页面导航栏背景色为白色,C页面没有导航栏。在A、B、C三个页面间切换时,为了保证每个页面导航栏样式独立,需要单独在A、B、C三个页面的生命周期方法(页面即将显示、页面即将消失)中各实现设置导航栏样式、取消导航栏样式的方法。另外在显示导航栏和隐藏导航栏的页面控制器之间切换时,需要单独进行判断,工作量大且不易维护。
现有技术中,目前主要使用三种方式来对应用顶部导航栏样式进行自定义
1.在每个页面的生命周期方法(页面即将显示、页面即将消失)中单独设置导航栏样式。这种方法的缺点是:需要在每个页面控制器中实现自定义导航栏样式的方法,工作量大,且当引入第三方组件时,在不修改第三方组件源码的情况下,无法自定义导航栏样式。
2.基于iOS运行时原理,对页面控制器的生命周期方法进行替换,并以分类的方式为系统页面控制器增加属性以实现自定义导航栏样式。这种方法的缺点是:基于运行时原理,会对系统方法进行修改,在接入已有项目时入侵性大,出现问题时不利于故障排查。
3.创建一个自定义的基类页面控制器,并在该基类页面控制器中提供导航栏样式定制的方法,其他页面控制器均继承自该基类页面控制器。这种方法的缺点是:要求所有页面控制器必须继承于自定义的基类页面控制器,当引入第三方组件时,不能保证第三方组件的页面控制器可以继承于自定义的页面控制器。
发明内容
针对现有技术中的缺陷,本发明提供一种工作量少、不会对已有项目入侵、利于第三方组件页面接入的基于协议自定义iOS导航栏样式的方法。
本发明采用的技术方案是:基于协议自定义iOS导航栏样式的方法,包括以下步骤:
a、声明自定义导航栏样式协议;
b、页面控制器遵循自定义导航栏样式协议;
c、自定义导航控制器,并重写系统转场方法;
d、在导航控制器转场动画中判断页面控制器是否遵守自定义导航栏样式协议;
e、根据判断结果设置转场前后页面控制器导航栏样式,完成转场动画方法;
f、结束。
为更好地实现本发明,所述的步骤a中,声明自定义导航栏样式协议时,同时提供需要自定义导航栏样式相关的属性。
为更好地实现本发明,所述的自定义导航栏样式相关的属性包括是否隐藏导航栏、导航栏背景色、导航栏背景图、导航栏标题颜色、导航栏返回按钮样式以及是否隐藏导航返回按钮。
为更好地实现本发明,所述的步骤b中,以分类方式遵守步骤a中所声明的自定义导航栏样式协议,以只读方式返回协议中约定的属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大数金科网络技术有限公司,未经大数金科网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010473981.7/2.html,转载请声明来源钻瓜专利网。