一种基于IOS应用开发的下拉刷新实现机制

来源 :知音励志·教育版 | 被引量 : 0次 | 上传用户:shaokangtian
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  智能手机在从服务器上获取大量数据时,受其自身性能以及网络带宽的限制,不可能一次將大量数据直接从互联网上获取过来,下拉刷新功能是智能手机常用的一种动态加载数据的手段,既能节省智能手机硬件资源,又可提供较好的用户体验。本文从分析下拉刷新的原理出发,提出了一种基于IOS平台的下拉刷新实现的灵活机制,并依据该机制进行了具体实现与应用。
  【关键词】IOS;下拉刷新;机制
  1 引言
  移动互联时代的到来,智能手机的流行已成为手机市场的一大趋势。这类移动智能终端的出现改变了很多人的生活方式及对传统通讯工具的需求,人们不再满足于手机的外观和基本功能的使用,而开始追求手机强大的操作系统给人们带来更多、更强、更具个性的社交化服务。智能手机也几乎成了这个时代不可或缺的代表配置。与传统功能手机相比,智能手机以其便携、智能等的特点,使其在娱乐、商务、时讯及服务等应用功能上能更好的满足消费者对移动互联的体验。
  随着智能手机的普及,如今越来越多的人们开始使用智能手机通过互联网获取大量的信息数据。近年来虽然智能手机的硬件性能不断增强,功能不断增加,但智能手机仍是一个移动互联的终端设备。其处理和存储数据的能力毕竟有限,而绝大多数的数据仍旧保存在互联网中的传统服务器上。智能手机在从服务器上获取大量数据时,受其自身性能以及网络带宽的限制,不可能一次将大量数据直接从互联网上获取过来,往往是一边浏览一边动态申请并获取数据,这就是智能手机应用开发中经常会遇到的下拉刷新功能。首先获取手机一屏能够显示的数据,随着不断的下拉来动态获取数据进行刷新显示。
  2 IOS开发概述
  目前主流的智能手机主要分为基于IOS系统平台的苹果手机和基于Android系统平台的安卓手机。苹果手机iPhone,是美国苹果公司研发的智能手机,它搭载iOS操作系统。iOS是由苹果公司开发的移动操作系统,在IOS系统上运行的应用程序采用统一的Xcode集成开发环境进行开发设计,使用Object-C或Swift语言进行具体开发实现。在Xcode开发环境中已经集成了强大的软件开发工具包SDK,该SDK系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer),如图1所示。
  (1)核心操作系统层包括:内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。
  (2)核心服务层:可以通过它来访问iOS的一些服务,包含了Foundation.Framework和Core Foundation.Framework,提供了一系列处理字符串,排列,组合,日历,时间等等的基本功能。
  (3)媒体层:通过它可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。
  (4)触摸层:为应用程序开发提供了各种常用的框架并且大部分框架与界面有关。最核心的部分是UIKit.Framework,应用程序界面上的各种组件,全是由它来提供呈现的,除此之外它还负责处理屏幕上的多点触摸事件。
  3 下拉刷新实现机制
  下拉刷新是一种利用手势刷新用户界面的功能。当用户需要浏览大量的数据时,往往是先加载一屏的数据,当需要显示更多的数据时,通过下拉屏幕的手势再动态地加载一部分数据,刷新屏幕从而显示给用户。随着用户不断地下拉屏幕,一屏一屏动态地为用户加载并显示越来越多的数据。
  对于下拉刷新的实现可在IOS的窗体上放置一个能够上下滚动的视图,及UIScrollView,该滚动试图上有能够上下滚动的滚动条。再在滚动视图UIScrollView上放置一个下拉刷新的视图PullToRefreshView,该视图实际上是一个普通视图UIView类的子类。该视图的宽度与滚动视图UIScrollView的宽度相同,高度可自行定义。在该视图上定义四种状态,分别为:1、刷新停止状态,还没有触发刷新操作。2、刷新操作被触发,但还没有开始发送请求(只要用户手还没松开,不会发送请求)。3、已经发送请求,但请求的数据还没有回来,这时等待状态图标会一直在转。4、初始化状态,在初始化数据的时候使用。当用户上下滚动UIScrollView的时候,其ContentOffset会发生变化。ContentOffset是UIScrollView当前显示区域顶点相对于窗体UIFrame顶点的偏移量。当ContentOffset发生变化时,根据ContentOffset来切换下拉刷新视图PullToRefreshView的相应状态,并根据相应的状态触发不同的事件,从而完成动态加载数据的任务。
  4 下拉刷新视图PullToRefreshView的具体实现与应用
  根据上面下拉刷新的实现机制,可对下拉刷新视图进行具体实现和调用。
  (1)下拉刷新视图类PullToRefreshView的定义
  @interface SVPullToRefreshView : UIView
  (2)下拉刷新视图四种状态的定义
  typedef NS_ENUM(NSUInteger, SVPullToRefreshState) {
  SVPullToRefreshStateStopped = 0,
  SVPullToRefreshStateTriggered,
  SVPullToRefreshStateLoading,
  SVPullToRefreshStateAll = 10
  };
  (3)为下拉刷新视图设置代理,以检测自身属性的变化从而进行相应的UI的调整。当UIScrollView在滑动时contentOffset,contentSize,frame都是需要监测的对象。   - (void)addPullToRefreshWithActionHandler:(void (^)(void))actionHandler;
  - (void)addPullToRefreshWithActionHandler:(void (^)(void))actionHandler position:(SVPullToRefreshPosition)position;
  - (void)triggerPullToRefresh;
  (4)将下拉刷新控件放在顶部,当下拉刷新控件检测到的状态发生变化后将会调用ActionHandler中所定义的代码。在ActionHandler中往往会向服务器提交异步网络请求,获取数据后刷新视图进行显示。
  [tableView addPullToRefreshWithActionHandler:^{
  }];
  (5)程序自动调用下拉刷新控件,实现下拉刷新动态加载數据。
  [tableView triggerPullToRefresh];
  5 总结
  下拉刷新功能是智能手机常用的一种动态加载数据的手段,既能节省智能手机硬件资源,又可提供较好的用户体验。本文从分析下拉刷新的原理出发,提出了一种基于IOS平台的下拉刷新实现的灵活机制,并依据该机制进行了具体实现与应用。通过该机制可方便将下拉刷新视图类添加到已有的项目中,便于下拉刷新功能的灵活调用。
  参考文献
  [1]胡伟峰,辛向阳.智能手机iOS&;Android系统功能交互行为对比研究[J].装饰,2016(04):82-83.
  [2]郝颖婕,郁舒兰.基于iOS系统手机APP界面设计研究[J].家具与室内装饰,2016(04):70-71.
  [3]胡必玲,郭玉堂,叶嘉桓.ios下动态加载系统库文件的方法[J].合肥师范学院学报,2015(06):59-61.
  [4]肖远东,蔡声镇.基于iOS平台的移动视频监控软件设计[J].计算机工程,2015(02):268-271+277.
  [5]田赵洋,刘光灿.基于“萌否电台”API的iOS客户端开发[J].计算机应用与软件,2015(03):89-92.
  作者简介
  程杰(1978-),男,硕士研究生学历。现为郑州升达经贸管理学院信息工程系副教授。研究方向为计算机网络。
  王文凡(1993-),女,硕士研究生学历。现为郑州升达经贸管理学院信息工程系学生。研究方向为软件工程。
  作者单位
  郑州升达经贸管理学院信息工程系 河南省郑州市 451191
其他文献
【摘要】在体育教学过程中,教师的示范动作有着非常重要的作用,它是我们上好一节体育新授课必不可少的教学环节。同时示范动作质量的高低在很大程度上也决定着一节体育课的成功与否。因此,在体育教学中,我在明确了示范动作的目的的情况下,总结出了示范的方式、方向、方法、形式都与示范动作的效果有着密切的关系,对提高教学质量以及课堂教学的实效,都有着及其重要的作用。  【关键词】体育 示范 教学 实效  【中图分类
青霉素类药物在畜牧业中的大量使用必然会造成在动物性食品中的残留。本研究旨在制备阿莫西林的单链抗体(ScFv)及其突变体,为建立青霉素类药物的多残留免疫分析方法奠定基础。
【摘要】在流行音乐迅猛发展的今天,各大中小学校园的每个角落,听到的几乎都是流行歌曲,这就预示着传统的音乐教学内容已无法与新时代的学生审美需求相融合。因此将流行音乐带进中学音乐课堂,是中学音乐教育的迫切需要,也是中学音乐教学的必然趋势。音乐教师要正确指导学生欣赏和学唱流行歌曲。  【关键词】流行音乐 更新观念 选择性 可行性  【中图分类号】G623【文献标识码】A 【文章编号】2095-3089(
本课题用Red同源重组技术敲除鸭源大肠杆菌标准菌株(073)多重耐药调控基因mar A,构建marA基因缺失突变株(O73△AmarA),并采用微量稀释法测定5种抗生素对其的最小抑菌浓度。应
【摘要】随着健身行业的逐步发展,中职校所开设的健美操专修课已经不能满足社会市场的需求,存在许多的问题:如教学内容单一;考试方式单一;教学设备简陋等。针对以上问题,对中职校开设的健美操课提出一些改革策略和建议。  【关键词】健美操教学 改革  【中图分类号】G83 【文献标识码】A 【文章编号】2095-3089(2013)02-0217-01  健美操自80年代初传入我国,很快便以其鲜明的节奏感和
金黄色葡萄球菌是一种能感染多种动物的常见革兰氏阳性球菌。病原学调查表明,金黄色葡萄球菌是引起奶牛乳房炎的重要病原之一,对奶牛养殖业的危害较重。为了有效预防奶牛乳房
猪瘟(Classical Swine Fever,CSF)是由黄病毒科瘟病毒属的猪瘟病毒(Classical Swime Fever Virus,CSFV)引起的一种猪急热、高度接触性传染病。以出血和发热为主要特征,临床上可
奥尔加·兰(Olga Lang)在《中国家庭与社会》中指出,“当工业主义来临时,旧的家庭体制越来越成为进步的重大阻碍”。要改变家庭体制,就要变革婚姻制度。把个人婚姻从宗法制家庭中剥离出来,纳入现代民族国家的建构进程,一直是现代婚姻变革的重要目标,而爱情作为现代婚姻的基石,也介入到各种权力和不同传统对婚姻的争夺中来,并鲜活地体现在国家政策、法律条文和文艺作品中。  一九四四年十月九日,《解放日报》第
【摘要】《体育科研方法》是高职体育院校综合实践课程之一,教学评价既要体现学生掌握科研方法的程度,又要注重学生应用科研方法进行科学研究撰写毕业论文的过程,仅用量化的分数评价是不够的,还需要一个过程的判断和一些定性评价来对学生进行评价。档案袋评价作为质性评价方法之一,在体育科研方法教学中尝试应用取得了较好效果。  【关键词】体育科研方法 教学评价 档案袋评价  【基金项目】本文系2011年云南省教育厅
【摘要】介绍如何进行自我医务监督的简易方法,探索一些措施,为巩固强化学生的体育参与意识,引导学生进行科学有效的课余体育锻炼,促进身心健康发展,提高学习效率与健康水平提供参考。  【关键词】大学生 课余体育锻炼 医务监督  【中图分类号】G80【文献标识码】A 【文章编号】2095-3089(2013)02-0215-02  课余体育锻炼是学校体育的重要组成部分,是学生利用课余时间自觉地、有意识、有