CN107479892A - 弹框视图创建方法、装置及电子设备 - Google Patents

弹框视图创建方法、装置及电子设备 Download PDF

Info

Publication number
CN107479892A
CN107479892A CN201710714157.4A CN201710714157A CN107479892A CN 107479892 A CN107479892 A CN 107479892A CN 201710714157 A CN201710714157 A CN 201710714157A CN 107479892 A CN107479892 A CN 107479892A
Authority
CN
China
Prior art keywords
view
class
frame
agreement
uiview
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710714157.4A
Other languages
English (en)
Other versions
CN107479892B (zh
Inventor
黄露洋
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710714157.4A priority Critical patent/CN107479892B/zh
Publication of CN107479892A publication Critical patent/CN107479892A/zh
Application granted granted Critical
Publication of CN107479892B publication Critical patent/CN107479892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及iOS开发技术领域,提供一种弹框视图创建方法、装置及电子设备,所述方法包括:根据弹框类视图的通用特性,创建弹框类视图协议;利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类;在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。与现有技术中的继承UIView来进行弹框视图开发的技术相比,本发明只需要简单的配置就能让已经存在的视图快速拥有弹框的特性,大大的降低了代码量,提高了开发效率。

Description

弹框视图创建方法、装置及电子设备
技术领域
本发明涉及iOS开发技术领域,具体而言,涉及一种弹框视图创建方法、装置及电子设备。
背景技术
在iOS开发中,弹框是非常常见的视图,例如,弹出警告信息让用户确认或取消、弹出性别选择框让用户选择自己的性别、弹出输入框让用户输入自己的手机号等。iOS SDK内置了UIAlertView和UIActionSheet两个控件来实现弹框视图的效果,但是只支持几种特定的样式,定制性极低。因此,出现了继承UIView来进行弹框视图开发的技术,这种技术通过自定义样式的UIView的子类来定制弹框视图,使得弹框视图适合应用整体风格。但是,在开发过程中,每创建一个弹框视图,就需要新建视图类,并编写视图布局逻辑、用户交互逻辑、显示和隐藏逻辑等大量重复性代码,开发效率不高。
发明内容
本发明的目的在于提供一种弹框视图创建方法、装置及电子设备,用以改善上述问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供了一种弹框视图创建方法,应用于iOS系统,所述方法包括:根据弹框类视图的通用特性,创建弹框类视图协议;利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类;在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。
第二方面,本发明还提供了一种弹框视图创建装置,应用于iOS系统,所述装置包括协议创建模块、协议添加模块和弹框视图创建模块。其中,协议创建模块用于根据弹框类视图的通用特性,创建弹框类视图协议;协议添加模块用于利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类;执行模块用于在在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。
第三方面,本发明还提供了一种电子设备,所述电子设备安装有iOS系统,所述电子设备包括存储器、处理器、以及弹框视图创建装置,所述弹框视图创建装置存储于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组。所述弹框视图创建装置包括协议创建模块、协议添加模块和弹框视图创建模块。其中,协议创建模块用于根据弹框类视图的通用特性,创建弹框类视图协议;协议添加模块用于利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类;执行模块用于在在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。
相对现有技术,本发明具有以下有益效果:本发明提供的一种弹框视图创建方法、装置及电子设备,首先根据弹框类视图的通用特性,创建弹框类视图协议,其次利用扩展类将弹框类视图协议的实现添加到iOS系统中所有视图的基类UIView中,以使UIView具备弹框视图的通用特性,最后在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能,与现有技术中的继承UIView来进行弹框视图开发的技术相比,本发明只需要简单的配置就能让已经存在的视图快速拥有弹框视图的特性,大大的降低了代码量,提高了开发效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的电子设备的方框示意图。
图2示出了本发明实施例提供的弹框视图创建方法流程图。
图3为图2示出的步骤S102的子步骤流程图。
图4为图2示出的步骤S103的子步骤流程图。
图5为图4示出的子步骤S1032的子步骤流程图。
图6示出了本发明实施例提供的弹框视图创建装置的方框示意图。
图7为图6示出的弹框视图创建装置中协议添加模块的方框示意图。
图8为图6示出的弹框视图创建装置中执行模块的方框示意图。
图9为图8示出的执行模块中自定义单元的方框示意图。
图标:100-电子设备;101-存储器;102-存储控制器;103-处理器;200-弹框视图创建装置;201-协议创建模块;202-协议添加模块;2021-文件创建单元;2022-协议声明单元;2023-协议实现单元;203-执行模块;2031-文件调用单元;2032-自定义单元;20321-第一子执行单元;20322-第二子执行单元;20323-第三子执行单元。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例提供的电子设备100的方框示意图。电子设备100可以是,但不限于智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理(personal digital assistant,PDA)、穿戴式移动终端等等。所述电子设备100安装有iOS系统,其包括弹框视图创建装置200、存储器101、存储控制器102及处理器103。
所述存储器101、存储控制器102及处理器103各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述弹框视图创建装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述电子设备100的操作系统(operatingsystem,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述弹框视图创建装置200包括的软件功能模块或计算机程序。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,本发明任一实施例揭示的流程定义的服务器所执行的方法可以应用于处理器103中,或者由处理器103实现。
处理器103可以是一种集成电路芯片,具有信号处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。
第一实施例
请参照图2,图2示出了本发明实施例提供的弹框视图创建方法流程图。弹框视图创建方法包括以下步骤:
步骤S101,根据弹框类视图的通用特性,创建弹框类视图协议。
在本发明实施例中,弹框类视图的通用特性可以是,但不限于弹出/隐藏特性、用户交互特性和布局特性等。弹框类视图协议是方法的集合,可以包括弹框类视图的布局方法、用户交互方法、显示和隐藏方法,弹框类视图协议可以是iOS SDK中的Protocol。
作为一种实施方式,创建弹框类视图协议可以包括以下步骤,其中,弹框类视图可以用AlertView来表示:
首先,创建弹框类视图协议头文件,可以用DYAlertViewProtocol.h表示;
第二,定义弹框动画类型,可以用DYPCAlertViewAnimationType表示,弹框动画的类型可以包括弹出动画和隐藏动画,可以分别用DYPCAlertViewAnimationTypeShow、DYPCAlertViewAnimationTypeDimiss表示;
第三,定义弹框类型,可以用DYPCAlertViewType表示,弹框的类型可以包括从屏幕中间弹出的弹框类型和从屏幕底部弹出的弹框类型,可以分别用DYPCAlertViewTypeAlert、DYPCAlertViewTypeActionSheet表示;
第四,定义弹框的回调处理,也就是弹框弹出之后执行的后续操作,可以用DYPCAlertViewDelegate表示,弹框的回调处理可以包括处理弹框消失时的回调,可以用AlertViewWillDismiss表示;
第五,定义弹框类视图协议,可以用DYPCAlertView协议表示,弹框类视图协议用来定义弹框类视图要实现的布局方法、用户交互方法、显示和隐藏方法的方法签名,弹框类视图协议可以包括以下方法:
alertViewType方法,用来标识弹框的类型,返回类型为DYPCAlertViewType枚举类;
alertViewShowInView:方法,用来在指定视图中弹出弹框视图;
alertViewShowInView:delegate:方法,用来在弹出弹框视图时指定一个对象来处理弹框视图的回调;
alertViewDismissWithAction:方法,用来隐藏弹框视图;
alertViewNormalTransform方法,用来确定弹框视图呈现在屏幕上时的状态;
alertViewDismissTransform,用来确定弹框视图从屏幕上消失的状态;
alertViewBackgroundMaskColor方法,用来确定弹框视图弹出之后的屏幕上背景的颜色;
alertViewHorizontalMargin方法,用来确定弹框视图弹出之后与父视图水平方向上的间距,可以根据屏幕的尺寸计算得到弹框视图的尺寸;
alertViewHeight方法,用来确定弹框视图的高度;
animtationDurationForAnimation:方法,用来确定弹出动画/消失动画的持续时间;
alertViewCustomAnimation:方法,用来确定是否需要自定义弹出动画/消失动画。
alertViewPerformCustomShowAnimationInContainerView:方法,用来定义自定义弹出动画的具体逻辑;
alertViewPerformCustomDimissAnimationCompleted:方法,用来定义自定义消失动画的具体逻辑;
alertViewResponseToDimissGesture,用来确定用户点击超出弹框视图范围时,是否触发弹框视图的消失逻辑。
步骤S102,利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类。
在本发明实施例中,扩展类可以是Category,利用Category将弹框类视图协议的实现添加到UIView中,也就是UIView+DYAlertView,可以使UIView具备弹框类视图的通用特性。利用扩展类将弹框类视图协议的实现添加到UIView中的方法可以是:首先,在UIView中创建UIView的头文件和UIView的源文件,也就是UIView+DYAlertView.h文件和UIView+DYAlertView.m文件;其次,在UIView的头文件中声明扩展类用于实现弹框类视图协议,也就是说,在UIView+DYAlertView.h文件中声明Category实现了DYPCAlertView协议;最后,在UIView的源文件中实现弹框类视图协议,也就是在UIView+DYAlertView.m文件中将DYPCAlertView协议声明的方法一一实现。
作为一种实施方式,在UIView的源文件中实现弹框类视图协议可以包括:
alertViewType方法的实现为返回DYPCAlertViewTypeAlert,表示该弹框视图为从屏幕中心弹出;
alertViewBackgroundMaskColor方法的实现为返回一个透明颜色,透明颜色可以是用户设置的任意颜色,透明颜色可以由RGBA来确定;
alertViewHorizontalMargin方法的实现为返回一个具体的数值,这个数值是弹框视图弹出之后与父视图水平方向上的间距;
alertViewCustomAnimation:方法的实现为返回NO,表示不需要使用自定义的弹出动画/消失动画;
alertViewPerformCustomShowAnimationInContainerView方法的实现为空,表示自定义的弹出动画的执行逻辑为不做任何操作;
alertViewPerformCustomDimissAnimationCompleted方法的实现为空,表示自定义的消失动画的执行逻辑为不做任何操作;
animtationDurationForAnimation方法的实现为返回0.25,表示弹出动画/消失动画的持续时间为0.25秒;
alertViewNormalTransform方法的实现为返回空的仿射变换,表示弹框视图呈现在屏幕上不进行仿射变换;
alertViewDismissTransform:方法的实现为:1.调用alertViewType获取弹框类型。2.如果弹框类型为DYPCAlertViewTypeAlert则返回缩小的仿射变换,表示弹框在屏幕上以缩放的方式进行隐藏。3.如果弹框类型为DYPCAlertViewTypeActionSheet则返回平移的仿射变换,表示弹框在屏幕上以平移的方式进行隐藏;
alertViewHeight方法的实现返回0;
alertViewResponseToDimissGesture方法的实现为返回NO,表示用户点击超出弹框视图范围时不进行响应;
alertViewShowInView:delegate:方法的实现可以包括以下步骤:1.调用alertViewBackgroundMaskColor方法获取背景颜色进行配置。2.调用alertViewHorizontalMargin方法获取弹框视图与父视图的水平间距。3.调用alertViewHeight方法获取弹框视图高度。4.调用alertViewCustomAnimation方法获取是否需要自定义弹出动画,若需要则调用alertViewPerformCustomShowAnimationInContainerView方法执行自定动画逻辑,若不需要则执行步骤5。5.调用alertViewDismissTransform方法获取弹框视图从屏幕上消失的状态,并设置为动画执行前的状态。6.调用alertViewType方法确定弹框类型,若为DYPCAlertViewTypeAlert则将弹框视图添加到父视图的中心,若为DYPCAlertViewTypeActionSheet则添加到父视图的底部。7.调用animtationDurationForAnimation:方法获取弹出动画的持续时间。8.调用alertViewNormalTransform方法获取弹框视图呈现在屏幕上时的状态,并设置为动画执行后的状态。9.调用原始的视图父类UIView的动画执行方法播放动画。
alertViewDismissWithAction:方法的实现可以包括以下步骤;1.调用alertViewCustomAnimation:方法确定是否需要自定义消失动画,若需要则调用alertViewPerformCustomDimissAnimationCompleted方法执行自定义动画逻辑,结束,若不需要则执行步骤2。2.调用animtationDurationForAnimation:方法获取消失动画持续时间。3.调用alertViewNormalTransform方法获取弹框视图呈现在屏幕上时的状态,并设置为动画执行前的状态。4.调用alertViewDismissTransform方法获取弹框视图从屏幕上消失的状态,并设置为动画执行前的状态。5.调用原始的视图父类UIView的动画执行方法播放动画。
请参照图3,步骤S102可以包括以下子步骤:
子步骤S1021,在UIView中创建头文件和源文件。
子步骤S1022,在UIView的头文件中声明扩展类用于实现弹框类视图协议。
子步骤S1023,在UIView的源文件中实现弹框视图协议。
步骤S103,在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。
在本发明实施例中,由于iOS中所有视图类都是UIView的子类,因此只要在任意一个视图类的头文件中导入UIView的头文件,也就是UIView+DYAlertView.h文件,该视图类也就继承了弹框类视图协议的各种方法。该视图类可以通过调用UIView的源文件来具备弹框视图的功能,例如,调用alertViewShowInView方法来弹出弹框视图,调用alertViewDismissWithAction方法来隐藏弹框视图。同时,还可以依据实际应用在视图类的源文件中重写弹框类视图协议,以实现弹框视图的自定义效果。
请参照图4,步骤S103可以包括以下子步骤:
子步骤S1031,在视图类的头文件中导入UIView的头文件以便调用UIView的源文件,以使该视图类具备弹框视图的功能。
在本发明实施例中,视图类可以用View表示,在视图类的头文件中导入UIView的头文件也就是在ViewA.h文件中导入UIVIew+DYAlertView.h文件。UIView的头文件导入到视图类的头文件中之后,视图类就可以通过调用UIView的源文件中弹框类视图协议的各种方法,从而具备弹框视图的功能。例如,若需要DYPCAlertViewTypeAlert类型的弹框效果,在视图类的源文件ViewA.m中不需要写任何的代码即可使视图类ViewA具备弹框视图的功能。
子步骤S1032,依据实际应用在该视图类的源文件中重写弹框类视图协议,以实现弹框视图的自定义效果。
在本发明实施例中,如果在实际应用中,利用子步骤S1032处理的弹框视图不能匹配应用整体风格,则可以在视图类的源文件中重写弹框类视图协议,以实现弹框视图的自定义效果。也就是说,若弹框视图的布局不匹配,则在视图类的源文件中重写布局方法,以自定义弹框视图的布局逻辑;若弹框视图的用户交互体验不好,则在视图类的源文件中重写用户交互方法,以自定义弹框视图的用户交互逻辑;若弹框视图的显示和隐藏特性不满足需求,则在视图类的源文件中重写显示和隐藏方法,以自定义弹框视图的显示和隐藏逻辑。
请参照图5,子步骤S1032可以包括以下子步骤:
子步骤S10321,若需自定义弹框视图的布局逻辑,则在该视图类的源文件中重写布局方法。
在本发明实施例中,若需要自定义弹出动画/消失动画执行前后弹框视图的位置、大小、旋转、拉伸等变换信息,只需要在视图类的源文件ViewA.m文件中重写alertViewNormalTransform方法和alertViewDismissTransform方法。若需要自定义弹框背景遮罩效果,只需要在视图类的源文件ViewA.m文件中重写alertViewBackgroundMaskColor方法。
子步骤S10322,若需自定义弹框视图的用户交互逻辑,则在该视图类的源文件中重写用户交互方法。
在本发明实施例中,若需要自定义弹出动画/消失动画效果,只需要在视图类的源文件ViewA.m文件中重写alertViewCustomAnimation、alertViewPerformCustomShowAnimationInContainerView和alertViewPerformCustomDimissAnimationCompleted方法。若需要自定义弹出动画/消失动画的持续时间,只需要在视图类的源文件ViewA.m文件中重写animtationDurationForAnimation方法。
子步骤S10323,若需自定义弹框视图的显示和隐藏逻辑,则在该视图类的源文件中重写显示和隐藏方法,以实现弹框视图的自定义效果。
在本发明实施例中,若需要修改弹框视图的类型,如需要DYPCAlertViewTypeActionSheet类型的弹框效果,则只需要在视图类的源文件ViewA.m中重写alertViewType方法,返回DYPCAlertViewTypeActionSheet。
在本发明实施例中,首先,根据弹框类视图的通用特性,创建弹框类视图协议,并利用扩展类将弹框类视图协议的实现添加到iOS系统中所有视图的基类UIView中,以使UIView具备弹框视图的通用特性,在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能,与现有技术中的继承UIView来进行弹框视图开发的技术相比,本发明只需要简单的配置就能让已经存在的视图类快速拥有弹框的特性,大大的降低了代码量,提高了开发效率;其次,本发明可以依据实际应用在视图类的源文件中重写弹框类视图协议,以实现弹框视图的自定义效果,可以让任意的视图具备弹框视图的特性,且具备高度定制的能力,具有良好的实用性。
第二实施例
请参照图6,图6示出了本发明实施例提供的弹框视图创建装置200的方框示意图。弹框视图创建装置200包括协议创建模块201、协议添加模块202及执行模块203。
协议创建模块201,用于根据弹框类视图的通用特性,创建弹框类视图协议。
在本发明实施例中,协议创建模块201可以用于执行步骤S101。
协议添加模块202,用于利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类。
在本发明实施例中,协议添加模块202可以用于执行步骤S102。
请参照图7,图7为图6示出的弹框视图创建装置200中协议添加模块202的方框示意图。协议添加模块202包括文件创建单元2021、协议声明单元2022及协议实现单元2023。
文件创建单元2021,用于在UIView中创建头文件和源文件。
在本发明实施例中,文件创建单元2021可以用于执行子步骤S1021。
协议声明单元2022,用于在UIView的头文件中声明扩展类用于实现弹框类视图协议。
在本发明实施例中,协议声明单元2022可以用于执行子步骤S1022。
协议实现单元2023,用于在UIView的源文件中实现弹框类视图协议。
在本发明实施例中,协议实现单元2023可以用于执行子步骤S1023。
执行模块203,用于在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。
在本发明实施例中,执行模块203可以用于执行步骤S103。
请参照图8,图8为图6示出的弹框视图创建装置200中执行模块203的方框示意图。执行模块203包括文件调用单元2031和自定义单元2032。
文件调用单元2031,用于在视图类的头文件中导入UIView的头文件以便调用UIView的源文件,以使该视图类具备弹框视图的功能。
在本发明实施例中,文件调用单元2031可以用于执行子步骤S1031。
自定义单元2032,用于依据实际应用在该视图类的源文件中重写弹框类视图协议,以实现弹框视图的自定义效果。
在本发明实施例中,自定义单元2032可以用于执行子步骤S1032。
请参照图9,图9为图8示出的执行模块203中自定义单元2032的方框示意图。自定义单元2032包括第一子执行单元20321、第二子执行单元20322及第三子执行单元20323。
第一子执行单元20321,用于若需自定义弹框视图的布局逻辑,则在该视图类的源文件中重写布局方法。
在本发明实施例中,第一子执行单元20321可以用于执行子步骤S10321。
第二子执行单元20322,用于若需自定义弹框视图的用户交互逻辑,则在该视图类的源文件中重写用户交互方法。
在本发明实施例中,第二子执行单元20322可以用于执行子步骤S10322。
第三子执行单元20323,用于若需自定义弹框视图的显示和隐藏逻辑,则在该视图类的源文件中重写显示和隐藏方法,以实现弹框视图的自定义效果。
在本发明实施例中,第三子执行单元20323可以用于执行子步骤S10323。
综上所述,本发明提供的一种弹框视图创建方法、装置及电子设备,所述方法包括:根据弹框类视图的通用特性,创建弹框类视图协议;利用扩展类将弹框类视图协议的实现添加到UIView中,其中,UIView为iOS系统中所有视图的基类;在任意一个视图类中引入扩展类,以使该视图类具备弹框视图的功能。与现有技术中的继承UIView来进行弹框视图开发的技术相比,本发明只需要简单的配置就能让已经存在的视图快速拥有弹框的特性,大大的降低了代码量,提高了开发效率。另外,本发明可以依据实际应用在视图类的源文件中重写弹框类视图协议,以实现弹框视图的自定义效果,可以让任意的视图具备弹框视图的特性,且具备高度定制的能力,具有良好的实用性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (10)

1.一种弹框视图创建方法,其特征在于,应用于iOS系统,所述方法包括:
根据弹框类视图的通用特性,创建弹框类视图协议;
利用扩展类将所述弹框类视图协议的实现添加到UIView中,其中,UIView为所述iOS系统中所有视图的基类;
在任意一个视图类中引入所述扩展类,以使该视图类具备弹框视图的功能。
2.如权利要求1所述的方法,其特征在于,所述根据弹框类视图的通用特性,创建弹框类视图协议的步骤,包括:
根据所述弹框类视图的通用特性,定义弹框类视图的布局方法、用户交互方法、显示和隐藏方法,以创建所述弹框类视图协议。
3.如权利要求1所述的方法,其特征在于,所述利用扩展类将所述弹框类视图协议的实现添加到UIView中的步骤,包括:
在所述UIView中创建头文件和源文件;
在所述UIView的头文件中声明所述扩展类用于实现所述弹框类视图协议;
在所述UIView的源文件中实现所述弹框类视图协议。
4.如权利要求3所述的方法,其特征在于,所述在任意一个视图类中引入所述扩展类,以使该视图类具备弹框视图的功能的步骤,包括:
在该视图类的头文件中导入UIView的头文件以便调用UIView的源文件,以使该视图类具备弹框视图的功能;
依据实际应用在该视图类的源文件中重写所述弹框类视图协议,以实现弹框视图的自定义效果。
5.如权利要求4所述的方法,其特征在于,依据实际应用在该视图类的源文件中重写所述弹框类视图协议,以实现弹框视图的自定义效果的步骤,包括;
若需自定义所述弹框视图的布局逻辑,则在该视图类的源文件中重写布局方法;
若需自定义所述弹框视图的用户交互逻辑,则在该视图类的源文件中重写用户交互方法;
若需自定义所述弹框视图的显示和隐藏逻辑,则在该视图类的源文件中重写显示和隐藏方法,以实现所述弹框视图的自定义效果。
6.一种弹框视图创建装置,其特征在于,应用于iOS系统,所述装置包括:
协议创建模块,用于根据弹框类视图的通用特性,创建弹框类视图协议;
协议添加模块,用于利用扩展类将所述弹框类视图协议的实现添加到UIView中,其中,UIView为所述iOS系统中所有视图的基类;
执行模块,用于在任意一个视图类中引入所述扩展类,以使该视图类具备弹框视图的功能。
7.如权利要求6所述的装置,其特征在于,所述协议添加模块包括:
文件创建单元,用于在所述UIView中创建头文件和源文件;
协议声明单元,用于在所述UIView的头文件中声明所述扩展类用于实现所述弹框类视图协议;
协议实现单元,用于在所述UIView的源文件中实现所述弹框类视图协议。
8.如权利要求7所述的装置,其特征在于,所述执行模块包括:
文件调用单元,用于在该视图类的头文件中导入UIView的头文件以便调用UIView的源文件,以使该视图类具备弹框视图的功能;
自定义单元,用于依据实际应用在该视图类的源文件中重写所述弹框类视图协议,以实现弹框视图的自定义效果。
9.如权利要求8所述的装置,其特征在于,所述弹框自定义单元包括:
第一子执行单元,用于若需自定义所述弹框视图的布局逻辑,则在该视图类的源文件中重写布局方法;
第二子执行单元,用于若需自定义所述弹框视图的用户交互逻辑,则在该视图类的源文件中重写用户交互方法;
第三子执行单元,用于若需自定义所述弹框视图的显示和隐藏逻辑,则在该视图类的源文件中重写显示和隐藏方法,以实现所述弹框视图的自定义效果。
10.一种电子设备,其特征在于,所述电子设备安装有iOS系统,所述电子设备包括:
存储器;
处理器;以及
弹框视图创建装置,所述弹框视图创建装置存储于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组,其包括:
协议创建模块,用于根据弹框类视图的通用特性,创建弹框类视图协议;
协议添加模块,用于利用扩展类将所述弹框类视图协议的实现添加到UIView中,其中,UIView为所述iOS系统中所有视图的基类;
执行模块,用于在任意一个视图类中引入所述扩展类,以使该视图类具备弹框视图的功能。
CN201710714157.4A 2017-08-18 2017-08-18 弹框视图创建方法、装置及电子设备 Active CN107479892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710714157.4A CN107479892B (zh) 2017-08-18 2017-08-18 弹框视图创建方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710714157.4A CN107479892B (zh) 2017-08-18 2017-08-18 弹框视图创建方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN107479892A true CN107479892A (zh) 2017-12-15
CN107479892B CN107479892B (zh) 2020-10-16

Family

ID=60601773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710714157.4A Active CN107479892B (zh) 2017-08-18 2017-08-18 弹框视图创建方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN107479892B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656561A (zh) * 2018-10-25 2019-04-19 北京奇艺世纪科技有限公司 一种查重方法及装置
CN109766155A (zh) * 2018-12-13 2019-05-17 深圳壹账通智能科技有限公司 一种弹框生成方法、装置及存储介质
WO2019127846A1 (zh) * 2017-12-28 2019-07-04 平安科技(深圳)有限公司 一种视图创建方法、装置、计算机设备及存储介质
CN110007987A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 一种视图对象的层级管理方法及系统
CN111857938A (zh) * 2020-08-05 2020-10-30 广州繁星互娱信息科技有限公司 弹窗视图的管理方法、装置、终端及存储介质
CN112083974A (zh) * 2020-09-18 2020-12-15 珠海豹趣科技有限公司 一种广告窗口关闭方法、装置及电子设备
CN116560782A (zh) * 2023-07-11 2023-08-08 飞天诚信科技股份有限公司 一种指纹认证方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648641A (zh) * 2016-12-09 2017-05-10 武汉斗鱼网络科技有限公司 一种iOS系统设备上多层弹框的自动管理方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648641A (zh) * 2016-12-09 2017-05-10 武汉斗鱼网络科技有限公司 一种iOS系统设备上多层弹框的自动管理方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佚名: "Swift - 继承UIView实现自定义可视化组件(附记分牌样例)", 《HTTPS://WWW.HANGGE.COM/BLOG/CACHE/DETAIL_654.HTML》 *
佚名: "UIView的分类", 《HTTPS://WWW.JIANSHU.COM/P/87FE8966F36E》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019127846A1 (zh) * 2017-12-28 2019-07-04 平安科技(深圳)有限公司 一种视图创建方法、装置、计算机设备及存储介质
CN110007987A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 一种视图对象的层级管理方法及系统
CN110007987B (zh) * 2018-01-05 2022-03-25 武汉斗鱼网络科技有限公司 一种视图对象的层级管理方法及系统
CN109656561A (zh) * 2018-10-25 2019-04-19 北京奇艺世纪科技有限公司 一种查重方法及装置
CN109766155A (zh) * 2018-12-13 2019-05-17 深圳壹账通智能科技有限公司 一种弹框生成方法、装置及存储介质
CN111857938A (zh) * 2020-08-05 2020-10-30 广州繁星互娱信息科技有限公司 弹窗视图的管理方法、装置、终端及存储介质
CN112083974A (zh) * 2020-09-18 2020-12-15 珠海豹趣科技有限公司 一种广告窗口关闭方法、装置及电子设备
CN116560782A (zh) * 2023-07-11 2023-08-08 飞天诚信科技股份有限公司 一种指纹认证方法及装置
CN116560782B (zh) * 2023-07-11 2023-09-19 飞天诚信科技股份有限公司 一种指纹认证方法及装置

Also Published As

Publication number Publication date
CN107479892B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN107479892A (zh) 弹框视图创建方法、装置及电子设备
CN105739866B (zh) 一种应用管理方法、装置及终端
CN106888407A (zh) 一种视频摘要生成方法及装置
CN108196839A (zh) 新功能引导方法及装置
CN107729063A (zh) 软件开发工具包的调用方法、装置及终端
CN111475162A (zh) 页面生成方法、装置、服务器及存储介质
CN104346463A (zh) 一种页面标签的加载方法、装置和浏览器客户端
CN107959965A (zh) 应用程序的降帧方法、装置、移动终端及可读存储介质
CN107122175A (zh) 界面生成方法及装置
CN107517312A (zh) 一种壁纸切换方法、装置及终端设备
CN107742079A (zh) 恶意软件识别方法及系统
CN107506483A (zh) 页面加载方法、装置、电子设备及存储介质
CN107402766A (zh) 页面布局管理方法及装置
CN110119299A (zh) 信息显示方法及设备
CN106294463A (zh) 一种动态曲线的数据点更新方法和设备
CN108108220A (zh) 基于文本控件的字符串动画效果实现方法及装置
CN108776575A (zh) 用户手写笔记的同步方法、电子书阅读设备及存储介质
CN107391003A (zh) 导航数据处理方法
CN106874012A (zh) 主题背景设置方法、装置及电子设备
CN109783321A (zh) 监控数据管理方法、装置、终端设备
CN106570727A (zh) 一种多维度数据配置方法、装置及电子设备
CN110018944A (zh) 服务器sensor配置方法、系统及设备和存储介质
CN106205484B (zh) Led显示屏带载配置方法及装置
CN105739771A (zh) 一种显示界面管理方法、装置及终端
CN108038219A (zh) 图片设置方法、装置、计算机装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant