一种基于Object_C语言分类实现多样式弹窗的方法技术

技术编号:22329785 阅读:18 留言:0更新日期:2019-10-19 12:13
本发明专利技术公开了一种基于Object_C语言分类实现多样式弹窗的方法,包括步骤:1)配置弹框展示信息,弹窗展示请求携带待展示弹窗的XML信息,接收到所述XML信息后会在Xcode中新建一份空白的.xib文件,对所述XML信息进行解析,会得到Object_C语言代码;2)条件传递新弹框,利用block块实现点击事件传递,同时实现旧弹框的移除,利用分类方式书写调用接口:3)展示弹窗。本发明专利技术在弹框样式上,实现了由程序员自主定义,可以适用任何样式的企业APP弹框样式。

【技术实现步骤摘要】
一种基于Object_C语言分类实现多样式弹窗的方法
本专利技术涉及计算机终端
,主要涉及一种基于Object_C语言分类实现多样式弹窗的方法。
技术介绍
现有技术当前提供的应用于iOS系统开发的消息展示框样式上:主要包含标题、内容、左边按钮、右边按钮,样式都是固定的,而且内容单一,单一的内容是无法满足企业APP开发时丰富多样的弹框要求的。调用上:需要先在控制器中新建该弹框对象,添加左右按钮,填入相关消息文本,这样在使用过程中会显得复杂,而且对于整个项目的代码量会增加。
技术实现思路
本专利技术所要解决的技术问题是提供一种弹窗展示内容多样化,可自主定义、适用范围广,弹窗设计效率高的基于Object_C语言分类实现多样式弹窗的方法。本专利技术所要解决的技术问题可以采用如下技术方案来实现:一种基于Object_C语言分类实现多样式弹窗的方法,包括如下步骤:1)配置弹框展示信息接收服务器发送的弹窗展示请求,在服务器上预置所述弹窗的大小、弹窗主体显示位置以及弹窗内容显示位置,得到预设弹窗框架模板;所述弹窗展示请求携带待展示弹窗的XML信息,接收到所述XML信息后会在Xcode中新建一份空白的.xib文件,该文件是用于存放XML信息的子控件;对所述XML信息进行解析,得到所述待展示弹窗的显示元素、各个显示元素的显示描述信息以及Object_C语言代码,在可视化界面中配置好需要展示信息;所述Object_C语言代码包括.xib文件的颜色、大小、约束、位置、适配的手机屏幕尺寸、使用的编码等信息,还包括所述待展示弹窗的显示元素以及各个显示元素的显示描述信息;所述XML信息通过所述Object_C语言代码配置好解析出来的控件,构建出的所述控件添加用户事件:①声明无返回值,有参数的block对象;②为构建的控件添加两个block对象的属性,一个为确定事件处理服务,一个为取消事件处理服务;③分别将声明的block对象赋值到步骤②中添加到控件上的两个属性;2)条件传递新弹框利用block块实现点击事件传递,同时实现旧弹框的移除,利用分类方式书写调用接口:①新建一个控制器类分类;②在该分类.h文件中暴露调用接口;③在分类的.m文件中去实现接口,并传入相关参数;点击事件的传递是以block作为函数的参数传递,在用户点击了弹窗中的确定或取消按钮后,系统会逐级查找isa指针,最后找到需要处理事件的block块,也就是最终呈现在控制器层的block,并运行block块中的代码,从而实现点击事件的传递;旧弹框的移除是在iOS开发中,UIKit框架的UIView类中提供了将子视图从父视图移除自身的方法:removeFromSuperview,当用户点击了确定或取消按钮后,弹框对象调用上述方法[selfremoveFromSuperview],实现弹窗移除;3)展示弹窗根据预设弹窗框架模板和所述待展示弹窗的显示元素以及各个显示元素的显示描述信息,对弹窗进行展示。本专利技术的有益效果是:一种基于Object_C语言分类实现多样式弹窗的方法,在弹框样式上,实现了由程序员自主定义,可以适用任何样式的企业APP弹框样式;在方法调用上,利用了分类的特性,只需要一句代码便可唤起弹框,并且可以实现在任何控制器中唤起,大大提高了开发效率,节省了开发时间。附图说明图1是本专利技术一种基于Object_C语言分类实现多样式弹窗的方法的流程图。图2是本专利技术步骤2)条件传递新弹框中block块的原理结构图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。参见图1,一种基于Object_C语言分类实现多样式弹窗的方法,包括如下步骤:1)配置弹框展示信息接收服务器发送的弹窗展示请求,根据业务需求在服务器上定义好在APP中需要展示的弹窗的大小、弹窗主体显示位置以及弹窗内容显示位置,得到预设弹窗框架模板;弹窗展示请求携带待展示弹窗的XML信息,APP端在做相关业务需求的时候,弹窗的xml信息伴随业务处理成功与失败一并返回;APP端接收到XML信息后会在Xcode中新建一份空白的.xib文件,该.xib文件相当于一个用于XML信息携带的子控件容器,调度解析器算法解析XML信息,在算法出口将解析到的数据进行封装缓存。在缓存处理线程中读取缓存的数据,根据不用控件的不同id,调用系统Init方法构建相关控件对象(UIView/UIButton/UIImageView/UILabel等),根据缓存数据给构建的控件赋值大小,颜色,位置,文字,触摸事件等属性,会得到Object_C语言代码;该Object_C代码包括.xib文件的颜色、大小、约束、位置、适配的手机屏幕尺寸、使用的编码等信息,同时包括待展示弹窗的显示元素以及各个显示元素的显示描述信息。在.xib的代码文件中,加入<objects></objects>标签,服务器返回的XML信息中会包含需要添加在.xib文件中的多个子控件,例如:UILabel控件,UIImageView控件,UIButton控件,不同的子控件中,携带的信息可由服务器自定义。例如:UIImageView,可携带image的contentModel,唯一标识id,x坐标,y坐标,宽度,高度;UIButton,可携带背景颜色,button被选中时背景图片和样式,button没被选中时的背景图片和样式,button的x,y坐标,button的大小,button显示的文字标题等等。对XML信息进行解析,得到待展示弹窗的显示元素以及各个显示控件的显示描述信息,利用Object_C代码配置好解析出来的控件,并且把各个控件的描述信息加到控件上,即为构建出的控件添加用户事件:①声明无返回值,有参数的block对象;②为构建的控件添加两个block对象的属性,一个为确定事件处理服务,一个为取消事件处理服务;③分别将声明的block对象赋值到步骤②中添加到控件上的两个属性。以下代码是用Object_C代码对解析出来的XML信息进行弹窗的配置:2)条件传递新弹框当检测到对弹窗中链接信息的触发操作时,解析链接信息,得到跳转对象地址;根据跳转对象地址,在客户端中打开跳转对象地址对应的界面。链接信息包括频道标识、应用标识、应用标识对应的表项标识、用户标识、群用户标识以及携带客户端接口信息的网页链接中的任一种;跳转对象地址指示客户端提供频道界面、应用界面、应用界面中的任一个表项、用户会话界面、群会话界面或网页中的任一种界面。利用block块实现点击事件传递,同时实现旧弹框的移除,利用分类方式书写调用接口。2.1)点击事件的传递block定义:block本质上也是一个Object_C对象或者说是一个结构体,内部也有一个isa指针;block是封装了函数调用(函数指针)以及函数调用环境(捕获到的参数)的Object_C对象。参见图2,block原理结构图,从图中很容易看到isa指针,所以Object_C处理Block是按照对象来处理的。本文以block作为函数的参数传递,在用户点击了弹窗中的确定或取消按钮后,系统会逐级查找isa指针,最后找到需要处理事件的block块,也就是最终呈现在控制器层的block本文档来自技高网...

【技术保护点】
1.一种基于Object_C语言分类实现多样式弹窗的方法,包括如下步骤:1)配置弹框展示信息接收服务器发送的弹窗展示请求,在服务器上预置所述弹窗的大小、弹窗主体显示位置以及弹窗内容显示位置,得到预设弹窗框架模板;所述弹窗展示请求携带待展示弹窗的XML信息,接收到所述XML信息后会在Xcode中新建一份空白的.xib文件,该文件是用于存放XML信息的子控件;对所述XML信息进行解析,得到所述待展示弹窗的显示元素、各个显示元素的显示描述信息以及Object_C语言代码,在可视化界面中配置好需要展示信息;2)条件传递新弹框利用block块实现点击事件传递,同时实现旧弹框的移除,利用分类方式书写调用接口:①新建一个控制器类分类;②在该分类.h文件中暴露调用接口;③在分类的.m文件中去实现接口,并传入相关参数;3)展示弹窗根据预设弹窗框架模板和所述待展示弹窗的显示元素以及各个显示元素的显示描述信息,对弹窗进行展示。

【技术特征摘要】
1.一种基于Object_C语言分类实现多样式弹窗的方法,包括如下步骤:1)配置弹框展示信息接收服务器发送的弹窗展示请求,在服务器上预置所述弹窗的大小、弹窗主体显示位置以及弹窗内容显示位置,得到预设弹窗框架模板;所述弹窗展示请求携带待展示弹窗的XML信息,接收到所述XML信息后会在Xcode中新建一份空白的.xib文件,该文件是用于存放XML信息的子控件;对所述XML信息进行解析,得到所述待展示弹窗的显示元素、各个显示元素的显示描述信息以及Object_C语言代码,在可视化界面中配置好需要展示信息;2)条件传递新弹框利用block块实现点击事件传递,同时实现旧弹框的移除,利用分类方式书写调用接口:①新建一个控制器类分类;②在该分类.h文件中暴露调用接口;③在分类的.m文件中去实现接口,并传入相关参数;3)展示弹窗根据预设弹窗框架模板和所述待展示弹窗的显示元素以及各个显示元素的显示描述信息,对弹窗进行展示。2.如权利要求1所述的一种基于Object_C语言分类实现多样式弹窗的方法,其特征在于,所述Object_C语言代码包括.xib文件的颜色、大小、约束、位置、适配的手机屏幕尺寸、使用的编码等信息,还包括所述待展示弹窗的显示元素以及各个显示元素的显示描述信息。3.如权利要求...

【专利技术属性】
技术研发人员:沈汉标王妙玉童威云吴宁泉张少山
申请(专利权)人:广东科徕尼智能科技有限公司
类型:发明
国别省市:广东,44

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

1