一种基于IOS系统的应用程序换肤方法、装置、计算机设备和计算机可读存储介质与流程

文档序号:30655198发布日期:2022-07-06 00:47阅读:167来源:国知局
一种基于IOS系统的应用程序换肤方法、装置、计算机设备和计算机可读存储介质与流程
一种基于ios系统的应用程序换肤方法、装置、计算机设备和计算机可读存储介质
技术领域
1.本发明涉及互联网技术领域,尤其涉及一种基于ios系统的应用程序换肤方法、装置、计算机设备和计算机可读存储介质。


背景技术:

2.应用程序的换肤指的是应用程序的图片和颜色风格的统一切换,目前业内对于换肤功能的主要技术实现方案是在应用程序中配置多套图片和颜色资源,通过通知的方式来进行皮肤的切换。当应用程序启动时,所有页面都需要监听换肤事件的通知,进行换肤时发送换肤通知到各个页面,各个页面收到换肤通知后读取将要切换的皮肤与资源的映射文件,然后设置每个页面新的图片和颜色。这样会导致随着应用程序页面的增加,需要添加监听的换肤通知的地方越多导致代码量大,而且添加通知代码逻辑导致初始化代码耗时增加,代码逻辑结构不清晰导致不易维护,代码耦合大无法便捷上架或下架换肤功能。因此需要一种代码高内聚、易维护、不会随页面增加大量增加代码量的应用程序换肤方法。


技术实现要素:

3.本发明的目的在于提供一种基于ios系统的应用换肤方法、装置、计算机设备和计算机可读存储介质,旨在解决现有换肤技术方案中代码低内聚、难维护且代码量多的问题。
4.第一方面,本发明提供了一种基于ios系统的应用程序换肤方法,包括:
5.启动应用程序,通过钩子函数获取页面资源设置相关方法;
6.页面展示前,调用所述页面资源设置相关方法,所述钩子函数记录 invocation对象和资源内容;
7.页面展示;
8.页面消失前,移除对应的invocation对象;
9.执行换肤操作时,获取当前所有invocation对象和资源内容,通过调用 invocation对象的方法完成换肤。
10.第二方面,本发明提供了一种基于ios系统的应用程序换肤装置,包括:
11.获取模块,用于在启动应用程序时,通过钩子函数获取页面资源设置相关方法;
12.记录模块,用于在页面展示前,调用所述页面资源设置相关方法,所述钩子函数记录invocation对象和资源内容;
13.展示模块,用于展示页面;
14.移除模块,用于在页面消失前,移除对应的invocation对象。
15.换肤模块,用于在执行换肤操作时,获取当前所有invocation对象和资源内容,通过调用invocation对象的方法完成换肤。
16.第三方面,本发明提供了一种计算机设备,包括:
17.一个或多个处理器;
18.存储器;以及
19.一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,其特征在于,所述处理器执行所述计算机程序时实现如上所述的基于ios系统的应用程序换肤方法的步骤。
20.第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的基于ios系统的应用程序换肤方法的步骤。
21.本发明采用钩子技术,在应用程序启动时通过钩子函数获取页面资源设置相关方法,在页面展示前调用页面资源设置相关方法,钩子函数记录invocation 对象和资源内容,进行换肤操作时,通过调用invocation对象的方法完成换肤操作。由于采用钩子技术实现,本发明中应用程序的页面增加不会增加代码量,代码内聚高且逻辑结构清晰从而易于维护,便于上架或下架换肤功能。
附图说明
22.图1是本发明实施例一提供的基于ios系统应用程序换肤方法的流程图;
23.图2是本发明实施例二提供的基于ios系统应用程序换肤装置的功能模块框图;
24.图3是本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
25.为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
26.为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
27.实施例一:
28.如图1所示,本发明实施例一提供了一种基于ios系统应用程序换肤方法,包括如下步骤:
29.s101、启动应用程序,通过钩子函数获取页面资源设置相关方法。页面资源设置相关方法包括但不限于设置图片、设置颜色、设置字体等方法。具体地,在ios系统中,通过钩子函数获取设置颜色setcolor方法和设置图片setimage 方法。设置颜色setcolor方法是系统提供的方法,用于设置单个视图的颜色。设置图片setimage方法是系统提供的方法,用于设置视图的图片。应用程序启动完成后,将要渲染视图页面。
30.s102、页面展示前,调用页面资源设置相关方法,钩子函数记录invocation 对象和资源内容。其中,invocation对象是指记录对象的方法调用指针和图片、颜色、字体等内容的对象。具体地,s102包括以下步骤:
31.页面展示前,调用设置颜色setcolor方法给当前视图元素设置颜色,此时创建第一invocation对象记录设置颜色setcolor方法,钩子函数记录第一 invocation对象和色值;
32.调用设置图片setimage方法给当前视图设置图片,此时创建第二invocation 对
象记录设置图片setimage方法,钩子函数记录第二invocation对象和图片名称。
33.s103、页面展示。
34.s104、在页面消失前,移除对应的invocation对象。对应的invocation对象包括但不限于第一invocation对象和第二invocation对象。
35.s105、执行换肤操作时,获取当前所有invocation对象和资源内容,通过调用invocation对象的方法完成换肤。当前所有invocation对象是所有视图被钩子函数记录的invocation对象,包括但不限于第一invocation对象和第二 invocation对象。获取当前所有invocation对象和资源内容,通过调用invocation 对象的方法完成换肤,具体地包括以下步骤:
36.遍历所有invocation对象;
37.读取皮肤与资源的映射文件;
38.获取皮肤对应的资源路径;
39.根据图片名称从资源中获取图片对象,通过每个invocation对象调用设置图片setimage方法设置当前皮肤的图片;
40.通过每个invocation对象调用设置颜色setcolor方法和记录的色值,设置当前皮肤的颜色风格。
41.实施例二:
42.如图2所示,本发明实施例三提供了一种基于ios系统的应用程序换肤装置200,包括:
43.获取模块201,用于在启动应用程序时,通过钩子函数获取页面资源设置相关方法;
44.记录模块202,用于在页面展示前,调用所述页面资源设置相关方法,所述钩子函数记录invocation对象和资源内容;
45.展示模块203,用于展示页面;
46.移除模块204,用于在页面消失前,移除对应的invocation对象。
47.换肤模块205,用于在执行换肤操作时,获取当前所有invocation对象和资源内容,通过调用invocation对象的方法完成换肤。
48.本发明实施例二提供的基于ios系统应用程序换肤装置及本发明实施例一提供的基于ios系统应用程序换肤方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
49.实施例三:
50.如图3所示,本发明实施例三提供了一种计算机设备300,包括:
51.一个或多个处理器301;
52.存储器302;以及
53.一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,其特征在于,所述处理器执行所述计算机程序时实现如实施例一提供的基于ios系统应用程序换肤方法的步骤。
54.实施例四:
55.本发明实施例四提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如实施例一提供的基于ios系统应用程序换肤方法的步骤。
56.本发明采用钩子技术,在应用程序启动时通过钩子函数获取页面资源设置相关方法,在页面展示前调用页面资源设置相关方法,钩子函数记录invocation 对象和资源内容,进行换肤操作时,通过调用invocation对象的方法完成换肤操作。由于采用钩子技术实现,本发明中应用程序的页面增加不会增加代码量,代码内聚高且逻辑结构清晰从而易于维护,便于上架或下架换肤功能。
57.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1