基于列表的空数据占位视图实现方法、装置及电子设备制造方法及图纸

技术编号:38325851 阅读:13 留言:0更新日期:2023-07-29 09:08
本申请提供一种基于列表的空数据占位视图实现方法、装置及电子设备。该方法包括:为列表视图控件添加扩展属性和扩展方法,并创建一个全局常量;在列表视图控件中创建提示视图属性;调用关联函数将列表视图控件、全局常量以及提示视图属性进行关联;获取与当前列表视图控件相关联的对象,并返回关联对象;遍历当前列表视图控件的分组属性,依据所有分组的总行数判断列表中是否存在数据;当列表中不存在数据时,初始化提示视图属性,将图像视图容器和标签控件添加到初始化后的提示视图属性中,以使当前列表视图控件的列表中显示空数据占位视图。本申请大幅减少了额外的计算量,提升了性能,可以同时实现数据刷新和空数据视图展示,节省时间。节省时间。节省时间。

【技术实现步骤摘要】
基于列表的空数据占位视图实现方法、装置及电子设备


[0001]本申请涉及应用程序开发
,尤其涉及一种基于列表的空数据占位视图实现方法、装置及电子设备。

技术介绍

[0002]在iOS系统中,UITableView是一个常见的列表视图控件,用于展示多个项目的垂直滚动列表。当列表数据为空时,为了提升用户体验,往往需要显示一个空数据占位图。
[0003]然而,现有的工具库对空数据占位图功能的实现逻辑通常是在UITableVie w之外另行创建单独的空数据占位视图,在列表无数据时手动将UITableView隐藏,同时再手动将空数据占位视图添加到当前屏幕上。由于现有的空数据占位图功能的实现并未利用iOS自身的特性对性能等加以改善,导致存在逻辑繁琐、性能降低、属性过多等问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种基于列表的空数据占位视图实现方法、装置及电子设备,以解决现有技术存在的逻辑繁琐、性能降低、属性过多等问题。
[0005]本申请实施例的第一方面,提供了一种基于列表的空数据占位视图实现方法,包括:为列表视图控件添加扩展属性和扩展方法,并创建一个全局常量;在列表视图控件中创建提示视图属性,提示视图属性用于表示当列表数据为空时,在屏幕上所显示的空数据占位视图;在设置提示视图属性的属性值时,调用关联函数将列表视图控件、全局常量以及提示视图属性进行关联;当触发当前列表视图控件的提示视图属性的操作时,获取与当前列表视图控件相关联的对象,并返回关联对象;遍历当前列表视图控件的分组属性,得到所有分组的总行数,依据所有分组的总行数判断当前列表视图控件的列表中是否存在数据;当判断当前列表视图控件的列表中不存在数据时,初始化提示视图属性,并创建图像视图容器和标签控件,将图像视图容器和标签控件添加到初始化后的提示视图属性中,以使当前列表视图控件的列表中显示空数据占位视图。
[0006]本申请实施例的第二方面,提供了一种基于列表的空数据占位视图实现装置,包括:添加模块,被配置为为列表视图控件添加扩展属性和扩展方法,并创建一个全局常量;创建模块,被配置为在列表视图控件中创建提示视图属性,提示视图属性用于表示当列表数据为空时,在屏幕上所显示的空数据占位视图;关联模块,被配置为在设置提示视图属性的属性值时,调用关联函数将列表视图控件、全局常量以及提示视图属性进行关联;获取模块,被配置为当触发当前列表视图控件的提示视图属性的操作时,获取与当前列表视图控件相关联的对象,并返回关联对象;判断模块,被配置为遍历当前列表视图控件的分组属性,得到所有分组的总行数,依据所有分组的总行数判断当前列表视图控件的列表中是否存在数据;显示模块,被配置为当判断当前列表视图控件的列表中不存在数据时,初始化提示视图属性,并创建图像视图容器和标签控件,将图像视图容器和标签控件添加到初始化后的提示视图属性中,以使当前列表视图控件的列表中显示空数据占位视图。
[0007]本申请实施例的第三方面,提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
[0008]本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0009]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0010]通过为列表视图控件添加扩展属性和扩展方法,并创建一个全局常量;在列表视图控件中创建提示视图属性,提示视图属性用于表示当列表数据为空时,在屏幕上所显示的空数据占位视图;在设置提示视图属性的属性值时,调用关联函数将列表视图控件、全局常量以及提示视图属性进行关联;当触发当前列表视图控件的提示视图属性的操作时,获取与当前列表视图控件相关联的对象,并返回关联对象;遍历当前列表视图控件的分组属性,得到所有分组的总行数,依据所有分组的总行数判断当前列表视图控件的列表中是否存在数据;当判断当前列表视图控件的列表中不存在数据时,初始化提示视图属性,并创建图像视图容器和标签控件,将图像视图容器和标签控件添加到初始化后的提示视图属性中,以使当前列表视图控件的列表中显示空数据占位视图。本申请利用系统级别的特性,大幅减少了额外的计算量,提升了性能,本申请可以同时实现数据刷新和空数据视图展示,节省时间。
附图说明
[0011]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0012]图1是本申请实施例提供的基于列表的空数据占位视图实现方法的流程示意图;
[0013]图2是本申请实施例提供的基于列表的空数据占位视图实现装置的结构示意图;
[0014]图3是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0015]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0016]如
技术介绍
所描述的内容,当UITableView中的列表数据为空时,为了提醒用户当前没有内容可供显示,往往需要在空数据页面中显示一个空数据占位图。空数据页面通常指在数据为空或缺失时,为了让用户有一个良好的交互体验而显示的占位页面。这个页面可以显示一些提示信息,比如“暂无数据”,或者显示一些图片,比如一个空白的列表。通常情况下,空数据页面的设计应该简单、美观,并能够帮助用户更好地理解当前的页面状态。
[0017]现有技术中,iOS现存的工具库对空数据占位图功能的实现逻辑基本相同,都是通过在UITableView之外另行创建单独的空数据占位视图,在列表无数据时手动将UITableView隐藏,同时再手动将空数据占位视图添加到当前屏幕上。由于现有的空数据占
位图功能的实现原理中并没有利用iOS自身的特性对性能等加以改善,所以导致容易出现以下问题:
[0018]1.没有使用系统级别的特性,使得逻辑繁琐、文件臃肿。
[0019]2.过多的自定义控件嵌套调用,浪费了大量资源,性能显著降低。
[0020]3.添加的属性过多,使得使用前需要花费很多时间才能熟悉大部分属性的作用及使用场景,造成时间浪费,并且极易出现配置不完整造成应用崩溃的情况。
[0021]4.无法依据自身需要随意扩展所需功能,且对原生类具有侵入性。
[0022]有鉴于此,本申请实施例为解决上述问题,提供了一种基于列表的空数据占位视图实现方法。本申请通过对UITableView进行扩展,优化了空数据占位图功能的实现。通过使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于列表的空数据占位视图实现方法,其特征在于,包括:为列表视图控件添加扩展属性和扩展方法,并创建一个全局常量;在所述列表视图控件中创建提示视图属性,所述提示视图属性用于表示当列表数据为空时,在屏幕上所显示的空数据占位视图;在设置所述提示视图属性的属性值时,调用关联函数将所述列表视图控件、所述全局常量以及所述提示视图属性进行关联;当触发当前列表视图控件的提示视图属性的操作时,获取与所述当前列表视图控件相关联的对象,并返回关联对象;遍历所述当前列表视图控件的分组属性,得到所有分组的总行数,依据所述所有分组的总行数判断所述当前列表视图控件的列表中是否存在数据;当判断所述当前列表视图控件的列表中不存在数据时,初始化所述提示视图属性,并创建图像视图容器和标签控件,将所述图像视图容器和标签控件添加到初始化后的提示视图属性中,以使所述当前列表视图控件的列表中显示空数据占位视图。2.根据权利要求1所述的方法,其特征在于,所述为列表视图控件添加扩展属性和扩展方法,并创建一个全局常量,包括:利用预设的扩展关键字为所述列表视图控件添加扩展属性和扩展方法,并在所述扩展关键字中创建一个全局常量,所述全局常量采用字符串类型,所述全局常量中包含私有修饰符。3.根据权利要求1所述的方法,其特征在于,所述在所述列表视图控件中创建提示视图属性,包括:在所述列表视图控件中创建所述提示视图属性,所述提示视图属性继承iOS中用于装载其它控件的视图控件,所述提示视图属性用于表示显示在屏幕上的空数据占位视图。4.根据权利要求1所述的方法,其特征在于,所述调用关联函数将所述列表视图控件、所述全局常量以及所述提示视图属性进行关联,包括:将所述列表视图控件作为关联的对象,将所述全局常量的地址作为关联键,将当前存储的提示视图属性的值作为关联值,将所述关联的对象、关联键、关联值以及关联策略作为参数传入所述关联函数,利用所述关联函数执行关联操作。5.根据权利要求1所述的方法,其特征在于,所述遍历所述当前列表视图控件的分组属性,得到所有分组的总行数,依据所述所有分组的总行数判断所述当前列表视图控件的列表中是否存在数据,包括:调用预设的计算算法创建局部变量,所述局部变量用于记录列表的总行数;遍历所述当前列表视图控件的分组属性,获取每一个分组对应的行数,将所有分组的行数相加得到所述所有分组的总行数,并将所述所有分组的总行数存储在所述局部变量中;判断所述所有分组的总行数是否小于或等...

【专利技术属性】
技术研发人员:王辉唐如意叶松林
申请(专利权)人:成都赛力斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1