一种首页幻灯展示及操作方法及装置的制造方法

文档序号:10488626阅读:285来源:国知局
一种首页幻灯展示及操作方法及装置的制造方法
【专利摘要】本发明属于互联网移动端应用开发领域,是一种外观上的用户体验。具体涉及一种首页幻灯展示及操作方法及装置。通过自定义的底部滑动视图,并所有幻灯视图都添加在滑动视图上,能够在用户手指拖拽结束后,在首页同时显示多附幻灯片,本发明能够显示多张图片并支持滑动与首尾轮换播放,以复用的方式展示给用户流畅的体验。
【专利说明】
一种首页幻灯展示及操作方法及装置
技术领域
[0001]本发明属于互联网移动端应用开发领域,是一种外观上的用户体验。具体涉及一种首页幻灯展示及操作方法及装置。
【背景技术】
[0002]首页幻灯模式是一种在首页上用图片轮换播放的形式给应用推荐内容。为了针对iPad屏幕尺寸较宽的特点,采用与世面幻灯不同的多图片幻灯方式,页面显示多张图片。用户能观看到更多信息与更好的体验及图片比例。

【发明内容】

[0003]本发明主要是解决现有技术所存在的技术问题;提供了一种能够显示多张图片并支持滑动与首尾轮换播放,以复用的方式展示给用户流畅的体验的一种首页幻灯展示及操作方法及装置。
[0004]本发明的上述技术问题主要是通过下述技术方案得以解决的:
[0005]—种首页幻灯展示及操作方法,包括:
[0006]S1、在首页展示N幅幻灯视图,其中N大于等于2,具体包括:
[0007]S1.1、初始化视图并通过http协议从网络获取json格式数据,解析成NSObject对象,所述json格式数据为JavaScript Object Notat1n格式数据,包括图片下载地址与标题。
[0008]S1.2、根据获取的json格式网络数据刷新幻灯视图,幻灯视图使用自定义的底部滑动视图,重载了底部滑动视图的方法,所有幻灯视图都添加在滑动视图上。
[0009]S2、当前显示视图能够被用户滑动后更新为下一组显示的N幅的幻灯视图,具体包括:
[0010]S2.1、在S1.2中根据手指拖动的位置计算底部滑动视图的ContentOffset的值,最终页面停留的位置,其中,ContentOffset为系统控件UlScrollView的属性变量。
[0011]S2.2、设置pageControl的数量,更新底部滑动视图的视图内容。
[0012]S2.3、手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。
[0013]优选地,所述S1.2中,自定义底部滑动视图的具体步骤包括:
[0014]31.21、创建一个自定义滑动视图0¥3(^011¥丨6¥继承自丨03系统的1]13(^011¥丨6界视图。
[0015]S1.22、实现UIScroIIView的代理协议UIScrolIViewDelegate,并在初始化时将系统UIScrol IView的代理设为自身。
[0016]S1.23、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离。
[0017]S1.24、定义一个变量DYPagingEnabled标识,该标识表示是否开启整页滑动。
[0018]S1.25、重载UI Scro 11 View代理协议方法,使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的滑动距离。
[0019]优选地,所述S1.25中,重载UlScrollView协议方法的具体步骤包括:
[0020]S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移。
[0021 ] S1.252、当手指将要结束拖拽时,控件scrol I ViewWi I IEndDragging计算手指拖拽结束时的差值偏移量。
[0022]S1.253、当手指结束拖拽时,惯性控件ScrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量。
[0023]S 1.2 5 4、当手指结束拖拽时的拖拽动画结束时,控件scrol IViewDidEndScrol IingAnimat 1n在滑动动画停止时执行计算页面实际偏移量。
[0024]S1.255、当手指结束缩放手势时控件scrolIViewDidEndZooming在视图缩放结束后执行计算页面实际偏移量。
[0025]S1.256、控件scrollViewDidEndDragging、
[0026]控件scrol I ViewDidEndDece lerat ing、
[0027 ]控件 scrol IViewDidEndScrol I ingAnimat 1n、
[0028]控件scrol IViewDidEndZooming系统协议方法中实现计算scrol I View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是:
[0029]A、计算单个页面长度pageLength =根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale。
[0030]B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引。
[0031]C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。
[0032]优选地,所述S2.3中,清空当前视图并更新显示的具体方法是:
[0033]S2.31、设置定时器,用于每隔一段时间执行滑动方法使滑动视图移动到指定位置,清空之前的视图,其中,执行滑动方法使滑动视图移动到指定位置是通过设置scrol I View 的ContentOff set 属性来实现。
[0034]S2.32、关闭定时器,准备显示的数据,并比较当前设定的显示视图数量N与视图总数量M的大小:
[0035]若当前视图总数量M大于显示视图数量N;则在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构。
[0036I 若当前视图总数量M小于显示视图数量N ;则将滑动视图scro I IVi ew的ContentSize属性设为CGRectZero即为O,使视图不能滑动,并将滑动视图中的元素居中显不O
[0037]S2.33、计算并设置底部滑动视图的长度,滑动视图的长度=显示视图数量N*单个显示视图长度;滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量,滑动视图的长度小于(显示视图的数量*单个显示视图的长度),则超出滑动视图的显示视图将不能显示。
[0038]S2.34、调整显示视图的位置:如果显示视图数量小于N,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于N,将第一个显示视图放在滑动视图中心位置。
[0039]S2.35、当手指拖拽结束后,计算当前的索引位置,并比较当前设定的显示视图数量N与索引的大小:
[0040]当索引小于N时,说明显示视图向前移动了,跳转到尾部;
[0041]当索引大于或等于N时,说明显示视图向后移动超过最后一条数据,跳转到头部。
[0042]S2.36、滑动完毕后开启定时器,即在手指拖拽的时候关闭定时器,在拖拽结束后开启定时器,在用户不操作时由定时器执行自动滑动。
[0043]—种首页幻灯展示及操作装置,包括:
[0044]显示模块:在首页展示N幅幻灯视图,其中N大于等于2,具体包括:
[0045]初始化单元:初始化视图并通过http协议从网络获取json格式数据,解析成NSObject对象,所述json格式数据为JavaScript Object Notat1n格式数据,包括图片下载地址与标题;
[0046]更新显示单元:根据获取的json格式网络数据刷新幻灯视图,幻灯视图使用自定义的底部滑动视图,重载了底部滑动视图的方法,所有幻灯视图都添加在滑动视图上;
[0047]视图滚动模块:将当前显示视图根据用户滑动后更新为下一组显示的N幅的幻灯视图,具体包括:
[0048]位置计算单元:在更新显示单元显示幻灯视图时,根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,所述ContentOff set为系统控件UIScrol IView的属性变量,ContentOff set值的改变在自定义视图中实现计算方法;
[0049]主题更新单元:设置OS系统控件pageControl的数量,新底部滑动视图的系统控件item;
[0050]清空更新视图单元:在手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。
[0051]优选地,更新显示单元进行自定义底部滑动视图包括:
[0052]31.21、创建一个自定义滑动视图0¥3(^011¥丨6¥继承自丨03系统的1]13(^011¥丨6界视图。
[0053]S1.22、实现UIScroIIView的代理协议UIScrolIViewDelegate,并在初始化时将系统UIScrol IView的代理设为自身。
[0054]S1.23、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离。
[°°55] S1.24、定义一个变量DYPagingEnabled标识,该标识表示是否开启整页滑动。
[0056]S1.25、重载UIScrolIView代理协议,使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的滑动距离。
[0057]优选地,所述SI.25中,重载UIScrolIView协议包括:
[0058]S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移。
[0059]S1.252、当手指将要结束拖拽时,控件scrol I ViewWi I IEndDragging计算手指拖拽结束时的差值偏移量。
[0060]S1.253、当手指结束拖拽时,惯性控件ScrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量。
[0061]S 1.2 5 4、当手指结束拖拽时的拖拽动画结束时,控件scrol IViewDidEndScrol I ingAnimat 1n在滑动动画停止时执行计算页面实际偏移量。
[0062]S1.255、当手指结束缩放手势时控件scrol IViewDidEndZooming在视图缩放结束后执行计算页面实际偏移量。
[0063]S1.256、控件scrollViewDidEndDragging、
[0064]控件scro 11 ViewDidEndDece lerat ing、
[0065 ]控件 scrollViewDi dEndScro 11 ingAn ima t i on、
[0066]控件scro 11 ViewDidEndZooming系统协议方法中实现计算scro 11 View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是:
[0067]A、计算单个页面长度pageLength =根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale。
[0068]B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引。
[0069]C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。
[0070]优选地,清空更新视图单元在清空当前视图并更新显示具体包括:
[0071 ] S2.31、设置定时器,清空之前的视图。
[0072]S2.32、关闭定时器,准备显示的数据,并比较当前设定的显示视图数量N与视图总数量M的大小。
[0073]若当前视图总数量M大于显示视图数量N;则在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构。
[0074I 若当前视图总数量M小于显示视图数量N ;则将滑动视图scro I IVi ew的ContentSize属性设为CGRectZero即为O,使视图不能滑动,并将滑动视图中的元素居中显不O
[0075]S2.33、计算并设置底部滑动视图的长度,滑动视图的长度=显示视图数量N*单个显示视图长度;滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量,如果滑动视图的长度小于(显示视图的数量*单个显示视图的长度)则超出滑动视图的显示视图将不能显示。
[0076]S2.34、调整显示视图的位置:如果显示视图数量小于N,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于N,将第一个显示视图放在滑动视图中心位置。
[0077]S2.35、当手指拖拽结束后,索引跳转单元计算当前的索引位置,并比较当前设定的显示视图数量N与索引的大小:
[0078]当索引小于N时,说明显示视图向前移动了,跳转到尾部。
[0079]当索引大于或等于N时,说明显示视图向后移动超过最后一条数据,跳转到头部。
[0080]S2.36、滑动完毕后开启定时器,即手指拖拽的时候关闭定时器,在拖拽结束后开启定时器,在用户不操作时由定时器执行自动滑动。
[0081]因此,本发明具有如下优点:能够指定滑动的距离即每页视图的长度,显示多张图片并支持滑动与首尾轮换播放,以复用的方式展示给用户流畅的体验。
【附图说明】
[0082]图1为本发明的方法流程示意图。
[0083]图2是本发明的硬件连接结构示意图。
[0084]图3是图2中的清空更新视图单元的硬件连接结构示意图。
【具体实施方式】
[0085]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0086]—种首页幻灯展示及操作方法,包括:
[0087]S1、在首页展示N幅幻灯视图,其中N大于等于2,具体包括:
[0088]S1.1、初始化视图并通过http协议从网络获取json格式数据,解析成NSObject对象,所述json格式数据为JavaScript Object Notat1n格式数据,包括图片下载地址与标题。
[0089]S1.2、根据获取的json格式网络数据刷新幻灯视图,幻灯视图使用自定义的底部滑动视图,重载了底部滑动视图的方法,所有幻灯视图都添加在滑动视图上,自定义底部滑动视图的具体步骤包括:
[0090]31.21、创建一个自定义滑动视图0¥3(^011¥丨6¥继承自丨03系统的1]13(^011¥丨6界视图。
[0091 ] S1.22、实现UIScroIIView的代理协议UIScrolIViewDelegate,并在初始化时将系统UIScrol IView的代理设为自身。
[0092] S1.23、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离。
[0093I S1.24、定义一个变量DYPagingEnabled标识,该标识表示是否开启整页滑动。
[0094]S1.25、重载UI Scro 11 View代理协议方法,使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的滑动距离,在本步骤中,重载UI Scrol I View协议方法的具体步骤包括:
[0095]S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移。
[0096]S1.252、当手指将要结束拖拽时,控件scrol I ViewWi I IEndDragging计算手指拖拽结束时的差值偏移量。
[0097]S1.253、当手指结束拖拽时,惯性控件ScrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量。
[0098]S 1.2 5 4、当手指结束拖拽时的拖拽动画结束时控件scrol IViewDidEndScrol I ingAnimat 1n在滑动动画停止时执行计算页面实际偏移量。
[0099]S1.255、当手指结束缩放手势时控件scrol IViewDidEndZooming在视图缩放结束后执行计算页面实际偏移量。
[0100]S1.256、控件scrollViewDidEndDragging、
[0101 ]控件 scrollViewDidEndDecelerating、
[0102]控件scro 11 ViewDidEndScro 11 ingAnimat 1n、
[0103]控件scrol IViewDidEndZooming系统协议方法中实现计算scro 11 View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是:
[0104] A、计算单个页面长度pageLength =根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale。
[0?05] B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引。
[0106]C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。
[0107]S2、当前显示视图能够被用户滑动后更新为下一组显示的N幅的幻灯视图,具体包括:
[0108]S2.1、在S1.2中的系统方法中根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,其中,ContentOff set为系统控件UIScro IlView的属性变量。
[0?O9] S2.2、设置pageControl的数量number,更新底部滑动视图的视图内容。
[0110]S2.3、手指拖拽结束后清空当前视图并显示滑动后停止的最终视图,清空当前视图并更新显示的具体方法是:
[0111]S2.31、设置定时器,用于每隔一段时间执行滑动方法使滑动视图移动到指定位置,清空之前的视图,其中,执行滑动方法使滑动视图移动到指定位置是通过设置scrol I View 的ContentOff set 属性来实现。
[0112]S2.32、关闭定时器,准备显示的数据,并比较当前设定的显示视图数量N与视图总数量M的大小:
[0113]若当前视图总数量M大于显示视图数量N;则在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构。
[0114]若当前视图总数量M小于显示视图数量N ;则将滑动视图scro I IVi ew的ContentSize属性设为CGRectZero即为O,使视图不能滑动,并将滑动视图中的元素居中显不O
[0115]S2.33、计算并设置底部滑动视图的长度。滑动视图的长度=显示视图数量N*(单个显示视图长度);滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量。如果滑动视图的长度小于(显示视图的数量*单个显示视图的长度)则超出滑动视图的显示视图将不能显示。
[0116]S2.34、调整显示视图的位置。如果显示视图数量小于N,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于N,将第一个显示视图放在滑动视图中心位置。
[0117]S2.35、当手指拖拽结束后,计算当前的索引位置,并比较当前设定的显示视图数量N与索引的大小:
[0118]当索引小于N时,说明向前移动了,跳转到尾部。
[0119]当索引大于或等于N时,说明向后移动超过最后一条数据,跳转到头部。
[0120]S2.36、滑动完毕后开启定时器,即在手指拖拽的时候关闭定时器,在拖拽结束后开启定时器,在用户不操作时由定时器执行自动滑动。
[0121 ] —种首页幻灯展示及操作装置,包括:
[0122]显示模块:在首页展示N幅幻灯视图,其中N大于等于2,具体包括:
[0123]初始化单元:初始化视图并通过http协议从网络获取json格式数据,解析成NSObject对象,所述json格式数据为JavaScript Object Notat1n格式数据,包括图片下载地址与标题;
[0124]更新显示单元:根据获取的json格式网络数据刷新幻灯视图,幻灯视图使用自定义的底部滑动视图,重载了底部滑动视图的方法,所有幻灯视图都添加在滑动视图上,更新显示单元进行自定义底部滑动视图包括:
[0125]31.21、创建一个自定义滑动视图0¥3(^011¥16¥继承自103系统的1]13(^011¥16¥视图。
[0126]S1.22、实现UIScroIIView的代理协议UIScrolIViewDelegate,并在初始化时将系统UIScrol IView的代理设为自身。
[0127]S1.23、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离。
[0128]S1.24、定义一个变量DYPagingEnabled标识,该标识表示是否开启整页滑动。
[0129]S1.25、重载UIScrolIView代理协议,使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的滑动距离,在本步骤中,重载UlScrollView协议方法包括:
[0130]S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移。
[0131 ] S1.252、当手指将要结束拖拽时,控件scrol I ViewWi I IEndDragging计算手指拖拽结束时的差值偏移量。
[0132]S1.253、当手指结束拖拽时,惯性控件scrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量。
[0133]S 1.2 5 4、当手指结束拖拽时的拖拽动画结束时控件scrol IViewDidEndScrol I ingAnimat 1n在滑动动画停止时执行计算页面实际偏移量。
[0134]31.255、当手指结束缩放手势时,控件8沈011¥丨冊0丨(^11(12001^即在视图缩放结束后执行计算页面实际偏移量。
[0135]S1.256、控件scrollViewDidEndDragging、
[0136]控件scro11 ViewDidEndDece lerat ing、
[0137]控件scroI IViewDidEndScrol I ingAnimat 1n、
[0138]控件scrol IViewDidEndZooming系统协议方法中实现计算scro 11 View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是:
[0139]A、计算单个页面长度pageLength =根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale。
[0M0] B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引。
[0141]C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。
[0142]视图滚动模块:将当前显示视图根据用户滑动后更新为下一组显示的N幅的幻灯视图,具体包括:
[0143]位置计算单元:在更新显示单元显示幻灯视图时,根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,所述ContentOff set为系统控件UIScrol IView的属性变量,ContentOff set值的改变在自定义视图中实现计算方法;
[0144]主题更新单元:设置OS系统控件pageControl的数量,新底部滑动视图的系统控件item;
[0145]清空更新视图单元:在手指拖拽结束后清空当前视图并显示滑动后停止的最终视图,具体包括:
[0146]S2.41、设置定时器,清空之前的视图。
[0147]S2.42、关闭定时器,准备显示的数据,并比较当前设定的显示视图数量N与视图总数量M的大小:
[0148]若当前视图总数量M大于显示视图数量N;则在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构。
[0149]若当前视图总数量M小于显示视图数量N ;则将滑动视图scro I IVi ew的ContentSize属性设为CGRectZero即为O,使视图不能滑动,并将滑动视图中的元素居中显不O
[0150]S2.43、计算并设置底部滑动视图的长度。滑动视图的长度=显示视图数量N*(单个显示视图长度);滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量。如果滑动视图的长度小于(显示视图的数量*单个显示视图的长度)则超出滑动视图的显示视图将不能显示。
[0151]S2.44、调整显示视图的位置。如果显示视图数量小于N,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于N,将第一个显示视图放在滑动视图中心位置。
[0152]S2.45、当手指拖拽结束后,索引跳转单元计算当前的索引位置,并比较当前设定的显示视图数量N与索引的大小:
[0153]当索引小于N时,说明向前移动了,跳转到尾部。
[0154]当索引大于或等于N时,说明向后移动超过最后一条数据,跳转到头部。
[0155]S2.46、滑动完毕后开启定时器,即手指拖拽的时候关闭定时器,在拖拽结束后开启定时器,在用户不操作时由定时器执行自动滑动。
[0156]实施例1
[0157]本实施例涉及的英文解释如下:
[0158]1.currentlndex:为当前的索引。
[0159]2.SCr0llvieW为底部的滑动视图.所有视图都添加在滑动视图上。
[0160]3.1mgArray为所有包括额外添加的用于循环的数据的图片数组。
[0161]4.slideSize为每次滑动的大小。
[0162]5.k I gvPadd i ng为图片之间的外边距。
[0163]在本实施例中,以每个首页显示3附图为例进行说明。
[0164]本发明提供一种首页幻灯展示及操作方法,包括:
[0165]I)、初始化视图并通过http协议从网络获取json数据,解析成object对象。
[0166]2)、根据获取的数据刷新幻灯视图,视图使用自定义底部滑动视图scrollview,重载了 scrol I view的方法。在重载的系统方法中根据手指拖动的位置计算scrol I view的ContentOf f set的值,最终页面停留的位置,自定义底部滑动视图的具体步骤包括:
[0167]S2.2、创建一个自定义滑动视图DYScrollView继承自1S系统的UlScrollView视图。
[0168]S2.2、实现UI Scro 11 View的代理协议UI Scro IlViewDe legate,并在初始化时将系统UIScrol IView的代理设为自身。
[ΟΙ69] S2.3、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离。
[0170]S2.4、定义一个变量DYPagingEnabled标识是否开启整页滑动。
[0171]S2.5、重载UlScrollView代理协议方法,使手指拖拽的距离刚好为变量PageWidth和PageHe i ght设定的滑动距离,重载UI Scro IlVi ew协议方法的具体步骤包括:
[0172]S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移。
[0173]S1.252、当手指将要结束拖拽时,控件scrol I ViewWi I IEndDragging计算手指拖拽结束时的差值偏移量。
[0174]S1.253、当手指结束拖拽时,惯性控件scrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量。
[0175]S 1.2 5 4、当手指结束拖拽时的拖拽动画结束时,控件scro 11 ViewDidEndScro 11 ingAnimat 1n在滑动动画停止时执行计算页面实际偏移量;
[0176]S1.255、当手指结束缩放手势时控件scrol IViewDidEndZooming在视图缩放结束后执行计算页面实际偏移量。
[0177]S1.256、控件scrollViewDidEndDragging、
[0178]控件scro11 ViewDidEndDece lerat ing、
[0179]控件scro11 ViewDidEndScro 11 ingAnimat 1n、
[0180]控件scrol IViewDidEndZooming系统协议方法中实现计算scro 11 View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是:
[0181 ] A、计算单个页面长度pageLength =根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale。
[0182]B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引。
[0183]C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。
[0184]3)、设置 pageControl 的number.更新 scro 11 view 的 item,具体包括:
[0185]S3.1、在重载S1.2中的系统方法中根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,其中,ContentOff set为系统控件UIScro IlView的属性变量。
[0? 86] S2.2、设置pageControl的number,更新底部滑动视图的视图内容。
[0187]S2.3、手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。
[0188]4)、设置定时器,清空之前的视图,具体方法是:设置定时器,用于每隔一段时间执行滑动方法使滑动视图移动到指定位置,清空之前的视图,其中,执行滑动方法使滑动视图移动到指定位置是通过设置scrol IView的ContentOffset属性来实现。
[0189]5)、关闭定时器,准备显示的数据。当视图数量大于3个时,在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构。
[0190]6)、计算并设置8(^011¥丨6¥的内容大小(301^61^3丨26,滑动视图的长度=显示视图数量N*(单个显示视图长度);滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量。如果滑动视图的长度小于(显示视图的数量*单个显示视图的长度)则超出滑动视图的显示视图将不能显示。
[0191]调整显示视图的位置。如果显示视图数量小于3,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于3,将第一个显示视图放在滑动视图中心位置。
[0192]7)、当手指拖拽结束后,计算当前的索引位置,当索引小于3时,说明向前移动了,跳转到尾部。当索引大于或等于(全部数量-3)时,说明向后移动超过最后一条数据,跳转到头部O
[0193]8)滑动完毕后开启自动滚动定时器。
[0194]实施例2
[0195]本发明提供一种首页幻灯展示及操作装置,包括:
[0196]I)、显示模块中的初始化单元初始化视图并通过http协议从网络获取json数据,解析成object对象,然后根据获取的数据刷新幻灯视图,视图使用自定义底部滑动视图scro Ilvi ew,重载了 s cro Ilvi ew的方法。在重载的系统方法中根据手指拖动的位置计算scrollview的ContentOffset的值,最终页面停留的位置,其中,自定义底部滑动视图的包括:
[0197]S2.2、创建一个自定义滑动视图DYScrollView继承自1S系统的UlScrollView视图。
[0198]S2.2、实现UI Scro 11 View的代理协议UI Scro IlViewDe legate,并在初始化时将系统UIScrol IView的代理设为自身。
[0199]S2.3、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离。
[0200]S2.4、定义一个变量DYPagingEnabled标识是否开启整页滑动。
[0201]S2.5、重载UIScrol IView协议,使手指拖拽的距离刚好为变量PageWidth和PageHe i ght设定的页面长度,重载UI Scro IlVi ew协议方法包括:
[0202]S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移。
[0203]S1.252、当手指将要结束拖拽时,控件scrol I ViewWi I IEndDragging计算手指拖拽结束时的差值偏移量。
[0204]S1.253、当手指结束拖拽时,惯性控件scrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量。
[0205]S 1.2 5 4、当手指结束拖拽时的拖拽动画结束时,控件scrol IViewDidEndScrol I ingAnimat 1n在滑动动画停止时执行计算页面实际偏移量。
[0206]S1.255、当手指结束缩放手势时控件scrol IViewDidEndZooming在视图缩放结束后执行计算页面实际偏移量。
[0207]S1.256、控件scrollViewDidEndDragging、
[0208]控件scro 11 ViewDidEndDece lerat ing、
[0209]控件scro 11 ViewDidEndScro 11 ingAnimat 1n、
[0210]控件scrol IViewDidEndZooming系统协议方法中实现计算scro 11 View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是:
[0211 ] A、计算单个页面长度pageLength =根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale。
[0212]B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引。
[0213]C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。
[0214]3)、设置 pageControl 的number.更新 scro 11 view 的 item,具体包括:
[0215]S3.1、在重载S1.2中的系统方法中根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,其中,ContentOff set为系统控件UIScro IlView的属性变量。
[°216] S2.2、设置pageControl的number,更新底部滑动视图的视图内容。
[0217]S2.3、手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。
[0218]2)、视图滚动模块设置 pageControl 的number.更新 scro 11 view 的 item。
[0219]S2.1、位置计算单元在重载S1.2中的系统方法中根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,所述ContentOff set为系统控件UIScrol IView的属性变量,ContentOf f set值的改变在自定义视图中实现计算方法。
[0220]S2.2、主题更新单元设置1S系统控件pageControl的number,新底部滑动视图的系统控件item。
[0221]S2.4、清空更新视图单元在手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。
[0222]3)、设置定时器,清空之前的视图,具体方法是:设置定时器,用于每隔一段时间执行滑动方法使滑动视图移动到指定位置,清空之前的视图,其中,执行滑动方法使滑动视图移动到指定位置是通过设置scrol IView的ContentOffset属性来实现。
[0223]4)、关闭定时器,准备显示的数据。当视图数量大于3个时,在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构。
[0224]5)计算并设置8沈011¥丨6¥的内容大小(301^61^3丨26,滑动视图的长度=显示视图数量N*(单个显示视图长度);滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量。如果滑动视图的长度小于(显示视图的数量*单个显示视图的长度)则超出滑动视图的显示视图将不能显示。
[0225]调整显示视图的位置。如果显示视图数量小于3,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于3,将第一个显示视图放在滑动视图中心位置。
[0226]6)、当手指拖拽结束后,计算当前的索引位置,当索引小于3时,说明向前移动了,跳转到尾部。当索引大于或等于(全部数量-3)时,说明向后移动超过最后一条数据,跳转到头部O
[0227]7)、滑动完毕后开启自动滚动定时器。
[0228]应当注意的是,本申请中,涉及的英文语句描述,如:控件scrollViewDidEndDragging、底部滑动视图的ContentOff set等,均为1S系统中的描述语句,为公知技术。
[0229]本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
【主权项】
1.一种首页幻灯展示及操作方法,其特征在于,包括: S1、在首页展示N幅幻灯视图,其中N大于等于2,具体包括: S1.1、初始化视图并通过http协议从网络获取json格式数据,解析成NSObject对象,所述json格式数据为JavaScript Object Notat1n格式数据,包括图片下载地址与标题; S1.2、根据获取的json格式网络数据刷新幻灯视图,幻灯视图使用自定义的底部滑动视图,重载了底部滑动视图的方法,所有幻灯视图都添加在滑动视图上; S2、当前显示视图能够被用户滑动后更新为下一组显示的N幅的幻灯视图,具体包括: S2.1、在S1.2中根据手指拖动的位置计算底部滑动视图的ContentOffset的值,最终页面停留的位置,其中,ContentOf f set为系统控件UIScrol IView的属性变量; S2.2、设置pageControl的数量,更新底部滑动视图的视图内容; S2.3、手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。2.根据权利要求1所述的一种首页幻灯展示及操作方法,其特征在于,所述S1.2中,自定义底部滑动视图的具体步骤包括: .31.21、创建一个自定义滑动视图0¥3(^011¥16¥继承自103系统的1]13(^011¥16¥视图; S1.22、实现UIScrolIView的代理协议UIScrollViewDelegate,并在初始化时将系统UIScrol IView的代理设为自身; S1.23、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离; S1.24、定义一个变量DYPagingEnabIed标识,该标识表示是否开启整页滑动; .31.25、重载1]13(^011¥16?代理协议方法,使手指拖拽的距离刚好为变量?&86胃1(1他和PageHeight设定的滑动距离。3.根据权利要求1所述的一种首页幻灯展示及操作方法,其特征在于,所述S1.25中,重载UI Scro IlVi ew协议方法的具体步骤包括: S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移; S1.252、当手指将要结束拖拽时,控件scrolIViewWiIIEndDragging计算手指拖拽结束时的差值偏移量; S1.253、当手指结束拖拽时,惯性控件ScrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量; S1.2 5 4、当手指结束拖拽时的拖拽动画结束时控件scroll ViewDidEndScro I IingAnimat 1n在滑动动画停止时执行计算页面实际偏移量; 31.255、当手指结束缩放手势时控件8(^011¥16?01(^11(12001^即在视图缩放结束后执行计算页面实际偏移量; 51.256、控件scrollViewDidEndDragging、 控件 scroll ViewDidEndDece lerat ing、控件 scroll ViewDidEndScro I IingAnimat 1n、 控件scroll ViewDidEndZooming系统协议方法中实现计算scroll View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的页面长度,具体方法是: A、计算单个页面长度pageLength =根据设计的变量PageWidth/PageHeight乘上缩放比例 zoomScale; B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引; C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。4.根据权利要求1所述的一种首页幻灯展示及操作方法,其特征在于,所述S2.3中,清空当前视图并更新显示的具体方法是: S2.31、设置定时器,用于每隔一段时间执行滑动方法使滑动视图移动到指定位置,清空之前的视图,其中,执行滑动方法使滑动视图移动到指定位置是通过设置scrollView的ContentOffset属性来实现; S2.32、关闭定时器,准备显示的数据,并比较当前设定的显示视图数量N与视图总数量M的大小: 若当前视图总数量M大于显示视图数量N;则在临时数据中,将尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构; 若当前视图总数量M小于显示视图数量N;则将滑动视图scrolIView的ContentSize属性设为CGRectZero即为O,使视图不能滑动,并将滑动视图中的元素居中显示; S2.33、计算并设置底部滑动视图的长度,滑动视图的长度=显示视图数量N*单个显示视图长度;滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量,滑动视图的长度小于(显示视图的数量*单个显示视图的长度),则超出滑动视图的显示视图将不能显示; S2.34、调整显示视图的位置:如果显示视图数量小于N,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于N,将第一个显示视图放在滑动视图中心位置; S2.35、当手指拖拽结束后,计算当前的索引位置,并比较当前设定的显示视图数量N与索引的大小: 当索引小于N时,说明显示视图向前移动了,跳转到尾部; 当索引大于或等于N时,说明显示视图向后移动超过最后一条数据,跳转到头部; S2.36、滑动完毕后开启定时器,即在手指拖拽的时候关闭定时器,在拖拽结束后开启定时器,在用户不操作时由定时器执行自动滑动。5.一种首页幻灯展示及操作装置,其特征在于,包括: 显示模块:在首页展示N幅幻灯视图,其中N大于等于2,具体包括: 初始化单元:初始化视图并通过http协议从网络获取json格式数据,解析成NSObject对象,所述json格式数据为JavaScript Object Notat1n格式数据,包括图片下载地址与标题; 更新显示单元:根据获取的json格式网络数据刷新幻灯视图,幻灯视图使用自定义的底部滑动视图,重载了底部滑动视图的方法,所有幻灯视图都添加在滑动视图上; 视图滚动模块:将当前显示视图根据用户滑动后更新为下一组显示的N幅的幻灯视图,具体包括: 位置计算单元:在更新显示单元显示幻灯视图时,根据手指拖动的位置计算底部滑动视图的ContentOff set的值,最终页面停留的位置,所述Con tent Off set为系统控件UIScrol IView的属性变量,ContentOff set值的改变在自定义视图中实现计算方法; 主题更新单元:设置OS系统控件pageControl的数量,新底部滑动视图的系统控件item; 清空更新视图单元:在手指拖拽结束后清空当前视图并显示滑动后停止的最终视图。6.根据权利要求5所述的一种首页幻灯展示及操作装置,其特征在于,更新显示单元进行自定义底部滑动视图包括: 31.21、创建一个自定义滑动视图0¥3(^011¥16¥继承自103系统的1]13(^011¥16¥视图; S1.22、实现UIScrolIView的代理协议UIScrollViewDelegate,并在初始化时将系统UIScrol IView的代理设为自身; S1.23、定义变量PageWidth和PageHeight用于标识每个页面的滑动距离; S1.24、定义一个变量DYPag i ngEnab I ed标识,该标识表示是否开启整页滑动; S1.25、重载UIScrol IView代理协议,使手指拖拽的距离刚好为变量PageWidth和PageHeight设定的滑动距离。7.根据权利要求6所述的一种首页幻灯展示及操作装置,其特征在于,所述S1.25中,重载UI Scro 11 View协议包括: S1.251、当手指将要开始拖拽时,控件ScrollViewWillBeginDragging用变量dragDistance记录手指拖拽的位移; S1.252、当手指将要结束拖拽时,控件scrolIViewWiIIEndDragging计算手指拖拽结束时的差值偏移量; S1.253、当手指结束拖拽时,惯性控件ScrollViewDidEndDecelerating在手指结束拖拽时的移动惯性为O的时候执行计算页面的实际偏移量; S1.2 5 4、当手指结束拖拽时的拖拽动画结束时控件scrol IViewDidEndScroI IingAnimat 1n在滑动动画停止时执行计算页面实际偏移量; 31.255、当手指结束缩放手势时控件8(^011¥16?01(^11(12001^即在视图缩放结束后执行计算页面实际偏移量; S1.256、控件scrollViewDidEndDragging、控件 scrol I ViewDidEndDece lerat ing、 控件scrol IViewDidEndScroI IingAnimat1n、 控件scrol I ViewDidEndZooming系统协议中实现计算scrol I View页面实际偏移量.使手指拖拽的距离刚好为变量PageWidth/PageHeight设定的页面长度,具体方法是: A、计算单个页面长度pageLength=根据设计的变量PageWidth和PageHeight乘上缩放比例zoomScale; B、计算需要移动的页面索引index=当前滑动偏移量/页面长度pageLength.取绝对值并根据拖动速率判断最终的页面所索引; C、计算页面的实际偏移量=需要移动的页面索引index*单个页面长度pageLength.并判断是否超出显示范围。8.根据权利要求5所述的一种首页幻灯展示及操作装置,其特征在于,清空更新视图单元在清空当前视图并更新显示具体包括: S2.31、设置定时器,清空之前的视图; S2.32、关闭定时器,准备显示的数据,并比较当前设定的显示视图数量N与视图总数量M的大小: 若当前视图总数量M大于显示视图数量N;则在临时数据中,讲尾部数据插入临时数组顶部,将头部数据添加临时数组尾部,从而组成循环的结构; 若当前视图总数量M小于显示视图数量N;则将滑动视图scrolIView的ContentSize属性设为CGRectZero即为O,使视图不能滑动,并将滑动视图中的元素居中显示; S2.33、计算并设置底部滑动视图的长度,滑动视图的长度=显示视图数量N*单个显示视图长度;滑动视图的长度用于调整整个滑动的长度与能显示在滑动视图上的显示视图的数量,如果滑动视图的长度小于(显示视图的数量*单个显示视图的长度)则超出滑动视图的显示视图将不能显示; S2.34、调整显示视图的位置:如果显示视图数量小于N,将显示视图等分在滑动视图中心位置;如果显示视图数量大于或等于N,将第一个显示视图放在滑动视图中心位置; S2.35、当手指拖拽结束后,索引跳转单元计算当前的索引位置,并比较当前设定的显示视图数量N与索引的大小: 当索引小于N时,说明显示视图向前移动了,跳转到尾部; 当索引大于或等于N时,说明显示视图向后移动超过最后一条数据,跳转到头部; S2.36、滑动完毕后开启定时器,即手指拖拽的时候关闭定时器,在拖拽结束后开启定时器,在用户不操作时由定时器执行自动滑动。
【文档编号】G06F3/0486GK105843493SQ201610200612
【公开日】2016年8月10日
【申请日】2016年3月31日
【发明人】谢东华
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1