![基于iOS开发手机应用程序的研究与实现(定稿)第一稿_老师注释版-计算机科学与技术_第1页](http://file1.renrendoc.com/fileroot_temp2/2021-1/22/9399604d-3111-49f6-a594-3c5c5a518dfd/9399604d-3111-49f6-a594-3c5c5a518dfd1.gif)
![基于iOS开发手机应用程序的研究与实现(定稿)第一稿_老师注释版-计算机科学与技术_第2页](http://file1.renrendoc.com/fileroot_temp2/2021-1/22/9399604d-3111-49f6-a594-3c5c5a518dfd/9399604d-3111-49f6-a594-3c5c5a518dfd2.gif)
![基于iOS开发手机应用程序的研究与实现(定稿)第一稿_老师注释版-计算机科学与技术_第3页](http://file1.renrendoc.com/fileroot_temp2/2021-1/22/9399604d-3111-49f6-a594-3c5c5a518dfd/9399604d-3111-49f6-a594-3c5c5a518dfd3.gif)
![基于iOS开发手机应用程序的研究与实现(定稿)第一稿_老师注释版-计算机科学与技术_第4页](http://file1.renrendoc.com/fileroot_temp2/2021-1/22/9399604d-3111-49f6-a594-3c5c5a518dfd/9399604d-3111-49f6-a594-3c5c5a518dfd4.gif)
![基于iOS开发手机应用程序的研究与实现(定稿)第一稿_老师注释版-计算机科学与技术_第5页](http://file1.renrendoc.com/fileroot_temp2/2021-1/22/9399604d-3111-49f6-a594-3c5c5a518dfd/9399604d-3111-49f6-a594-3c5c5a518dfd5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本科生毕业论文基于iOS开发手机应用程序的研究与实现院 系: 数学与计算机科学学院 专 业: 计算机科学与技术 班 级:2011级计算机科学与技术(1)班 学 号: 201104220106 姓 名: 马建国 指导教师: 李金娟 完成时间: 2015年4月10日 基于iOS开发手机应用程序的研究与实现摘 要: 随着智能手机越来越深入而广泛的应用,当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐等功能要求越来越高,人们几乎都是通过手机来获取一些信息.本论文主要阐述以iOS开发平台为基础,通过使用Xcode开发工具并参考其提供的API以及Objective-C和C语言开发的一款运行
2、在iPhone手机上的汽车报价及资讯类应用.在开发的过程中,我首先学习了Objective-C语言的相关语法,Objective-C语言是在C语言的基础上进行一些面向对象的扩充。接下来,开始学习iOS应用的构建原理(学习视图控制器与视图的使用方法,程序委托的使用等)以及一些常用控件的使用,并尝试在Xcode工具上搭建一些简单的界面。在做好这些基础的准备后,我开始动手搭建应用的界面,同时完成各个界面之间的跳转。之后,就开始设计与实现。汽车产业经过多年的发展,已经产生了很多的品牌,每个品牌又有各种车型。我要做的工作是在收集和理解这些信息的基础上,用自己的话、自己的思想来构思并将这些信息加入一些新的
3、想法展示在App上。通过自己的努力,来打造一款与众不同的、独一无二的应用。近年来,随着智能手机的流行,出现了许多在移动操作系统上的手机应用。同时,伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来.而对于开发苹果应用的语言Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势。所以,开发一款可以在iOS系统上运行的汽车报价及资讯类应用是非常有意义的。本软件界面美观,操作简单,实现了应用首页获取数据、展示数据等功能,具备了一般应用所具有的功能,操作更加高效,具有较强的实用性。在本论文中,主要阐述了开发过程中的一些细节,遇到的问题,解决的方法以及自己的一些感悟。论文摘要以
4、简要文字介绍研究课题的目的、方法、内容及主要结果,中文摘要400字关键词: iOS MVC设计模式 Objective-C语言 Xcode开发工具Abstract: As smart phones more in-depth and wide range of applications,not just for todays era of mobile phone calls,text messaging tool,but on the phones entertainment features such as the increasingly high demand,it is almost
5、 always to get through the phone Some information in this paper mainly elaborates iOS development platform,by using the Xcode development tools and reference car quotes and information to run a class of applications API and Objective-C and C-language development of its available on the iPhone.In the
6、 development process,I first learned the relevant syntax of Objective-C language,Objective-C language is some expansion on the basis of object-oriented C language on.Next,begin to learn the principles of building iOS applications(using the method of learning the view controller and the view,the use
7、of the program commission,etc.)and some use common controls and try to build on the Xcode Tools simple interface.After doing these basic preparation,I started working to build the application interface,and complete interface between each jump.After that,it began to design and implementation.Automobi
8、le industry after years of development,has generated a lot of brands,each brand there are a variety of models.I have to do the work is in the collection and understanding on the basis of this information,in their own words,their own ideas to demonstrate these ideas and information,and add something
9、new.Through their own efforts,to create a distinctive and unique applications.In recent years,with the popularity of smart phones,there have been many applications on the mobile phone operating system.At the same time,along with Apples mobile phone to enter the Chinese market,the appropriate technol
10、ogy is increasingly popular iOS,while Apples application for the development of language-Object-C,in todays society has become the most popular development languages,and maintained a strong upward trend.So,you can develop a system that runs on iOS car quotes and information-type applications is very
11、 meaningful.The software interface is beautiful,simple operation,to achieve the application home to get data,display data,and other functions,with the general application has the function,the operation is more efficient,with a strong practical.In this paper,mainly on the development process in some
12、detail,the problems encountered,the solution as well as some of his insights.Key word iOS MVC design pattern Objective-C Xcode development tools目录第1章 绪论11.1 选题背景及意义11.2课题的研究现状11.3研究内容1第2章 系统开发的相关技术22.1 iOS系统简介22.2 C语言技术22.3 Objective-C语言技术22.4 Xcode开发工具22.5 Photoshop CS632.6 JavaScript语言32.7 MVC设计模式
13、42.8 小结6第3章 项目需求分析73.1可行性分析73.2需求分析7第4章 项目的详细实现84.1 项目简介84.2 引导页设计84.3 品牌大全设计94.4 热门车型设计144.5 新闻资讯设计164.6 行业前景设计174.7 车界评价设计184.8 夜间(白天)模式194.9 关于应用20第5章 项目测试215.1测试的重要性215.2测试的目的215.3 测试的原则215.4测试的结果22第6章 总结226.1 项目开发中遇到的问题226.1.1 数据解析问题226.1.2 界面设计问题226.1.3 界面传值问题236.1.4 Xcode报错信息236.2 自我总结和感触236.
14、3 项目的不足246.4 项目的展望24参考文献24致谢25第1章 绪论1.1 选题背景及意义选题背景随着社会的发展,时代的进步。人们对于信息的需求越来越高。而对浩瀚的信息海洋,我们难免会遗漏一些对自己来说很重要的信息。于是本人针对用户需求而开发一款汽车报价及资讯类的手机客户端。方便爱车人士或有购车意向的人查阅汽车报价及汽车行业的最新情况和资讯。而随着智能手机的大众化,越来越多的人使用智能手机,相对的对于手机软件的需求也越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求也越来越高。手机客户端也成为了人们的主要获取信息途径之一。目前中国汽车行业已经具备了相当的规模,
15、并在国际市场上有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。选题意义通过手机客户端来收集信息已经成为大多数汽车爱好者或准备购车的人们每天要干的事情了。手机操作系统有很多,而苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于iOS的以汽车报价及资讯为主的客户端会很容易得到用户的青睐。本人从去年开始接触iOS,在学习了几个月后,对iOS开发有了一些理解,所以对于这次的毕业设计,我选择了基于iOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的iOS开发水平。使自己在以后的社会竞争中更加具有优
16、势。1.2课题的研究现状世界在发展,社会在进步,在信息化时代的今天,人们对于手机有了进一步的了解与应用。随着科技的发展,智能手机的出现改变了我们一直以来对手机只是用于打电话和发短信的观点。在路上、车上,我们总能看见有人拿着手机来玩游戏,看资讯,看电影,这一切都在改变我们的日常生活。也正是由于这些变化,移动互联网已经逐渐成为了互联网这个行业的重要组成部分。特别是苹果,占据了整个智能手机领域的很大部分利润。1.3研究内容随着社会的进步发展,iOS系统的影响力逐渐增强,iOS系统已成为全球最受欢迎的系统。现在人们的物质生活越来越丰富,但是人们的生活压力也越来越大,所以在工作闲暇之余,看看车况,了解一
17、下汽车状况,也不失为一种调节情绪,放松思考的机会。近年来,汽车产业得到了巨大的发展。而且随着手机的发展,有关汽车的信息已经扩展到了手机上,这样大家就有了更多休闲娱乐的机会。鉴于此本课题研究并实现一款简洁的、拥有必备功能的、高速度的一款汽车报价及资讯类应用软件。在人们的日常生活中,爱车人士或者有购车意向的人们可以通过这款应用随时随地了解汽车的价格变动以及汽车行业的最新资讯,帮助人们更快、更好的购得爱车。第2章 系统开发的相关技术2.1 iOS系统简介iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来
18、陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。2.2 C语言技术C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSIC,作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持符合ANSIC的语法。2.3 O
19、bjective-C语言技术Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在GCC以及Clang运作的系统上编写和编译,因为GCC与Clang含Objective-C的编译器。1980年代初布莱德确斯(Brad Cox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心。2.4 Xcode开发工具Xcode前身是继承自
20、NeXT的Project Builder。The Xcode suite 包含有GNU Compiler Collection自由软件(GCC、apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc-4.2.1, 默认的是第一个),并支持 C语言、C+、Fortran、Objective-C、Objective-C+、Java、AppleScript、Python以及Ruby,还提供Cocoa、Carbon以及Java等编程模式。协力厂商更提供了 GNU Pascal,Free Pascal, Ada, C#, Perl, Haskell 和 D语言。Xcod
21、e套件使用 GDB作为其后台调试工具。2.5 Photoshop CS6Photoshop是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。本应用中,需要用Photoshop CS6制作系统的界面、按钮等平面图像,以及本应用中的所有图像的设计都需要Photoshop CS6来完成。用Photoshop CS6的另外一个好处就是可以把服饰通过PS内部的功能进行分割,在应用中编程小的控件进行一一拖拽,以达到匹配的效果;当这些小控件组合在一起时就是一张完整的效果图;这样既省下了
22、画整张图的时间,也满足了应用中的各个需求。2.6 JavaScript语言Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。2.7 MVC设计模式MVC全名是Model View Controller,是模型(model)视图
23、(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。说到iOS中的MVC不得
24、不提2011秋季斯坦福课程的老头,他的iPhone开发公开课是所有描述iOS中MVC模式最为准确并且最为浅显易懂的。MVC这个模式其实应该叫做MCV也许会更准确一点,用控制器把model与view隔开,也就是model与view互相不知道对方的存在,没有任何瓜葛。下面这张图摘自斯坦福公开课的课件:图中有几条线把这三部分划分开,有黄线,虚线和白色的实线。我们把它们想象成路标。可以看到,在Model和View之间有两条黄线,它意味着Model和View二者之间不能穿越这条黄线,任何一个方向都不行,即Model和View完全分离。在图的上部可以看到白色的虚线,它意味着只要是安全的,可以自由的穿越它。
25、白色的实线它代表可以穿越,但有条件。首先来看C和M之间的绿色箭头,这箭头的方向就代表着“发起对话”的方向,也就是说发起对话的是C,而做出回答的是M。C可以问M各种各样的问题,但M只是回答C的问题或要求,它不可以主动的向C要求什么。虚线可以畅通无阻,所以C知道M的所有的事情,如果用代码来说明这件事情,就是说C可以导入M的头文件或是M的接口(API)。因为C可以通过M的API,所以它就可以向M提出各种要求了。再来看看另外的一个绿色箭头,它是在C和V之间,和前一个绿色箭头的意义一样,它代表C可以直接地向V进行交流。C要把V放到屏幕上,并设置V的属性,告诉它们什么时候从屏幕上消失,把它们分成组等。如果
26、C不能自由的向V发号施令的话,程序的显示将会很困难。所以C可以毫无限制地向V说话。在这个箭头上还有outlet(输出口),outlet可以看作是从C指向V的指针,它在C中被定义。outlet给我们提供了很大的方便,它使我们在C的内部就可以轻松准确地向V施令。C可以拥有很多的outlet,可以不止一个,这也使它可以更高效的和V进行交流。M和V之间完全不可以通过,所以是不允许M和V进行交流的。这是因为不希望这三部分之间有过多的交流,假如V在显示时出现了问题,比如有一个图形没有显示出来,就要去查找错误,因为C可以和V交流,M也可以和V交流的话,就要去检查两个部分。相反的,只有C可以和V交流的话,再出
27、错时就只需要去C那里查找原因,这样查找错误就很简单了。所以不允许M和V之间有直接的联系,这也是在它们两之间有两根黄线的原因。V对C的交流有三种不同的方式。第一种称为目标操作(target-action)。C会在自己的内部“悬挂”一个目标(target),如图中的红白相间的靶子,它还会分发一个操作(action,如图中的黄色箭头)给将要和它交流的视图对象(可能是屏幕上的一个按钮),当按钮被按时,action就会被发送给与之对应的target,这样V就可以和C交流了。但是在这种情况下,V只是知道发送action给对应的target,它并不知道C中的类,也不知道它到底发送了什么。第二种方式叫做委托(
28、delegate)。有时候,V需要和C进行同步,用户交互不仅仅是点击按钮,划动滑块,还有很多种形式。图中的delegate黄色箭头,箭头上又分出了四个小箭头:should,did,will,还有一个没标注的。绝大部分的delegate信息都是should,will,did这三种形式。和英文意思相对应should代表视图对象将询问C中的某个对象“我应该这么做吗?”C把自己设置为V的委托(delegate),它让V知道:如果V想知道更多的关于将如何显示的信息的话,就向C发送delegate信息。通过接受V发过来的delegate信息,C就会做出相应的协调和处理。每个V只能有一个delegate。第
29、三种方式叫数据源(datasource),V不能拥有它所要显示的数据。V希望别人帮助它管理将要显示的数据,当它需要数据时,它就会请求别人的帮助,把需要的数据给它。再者,iPhone的屏幕很小,它不能显示包含大量信息的视图。图中的datasource箭头和delegate类似,V会发送count,data信息给C来请求数据。M和C之间的白线,这意味着M不可以直接地,没有限制的对C进行交流。但有时候这个方向的交流是必要的。当M中的一些东西发生变化时,C需要了解这些变化,通知(Notification)和KVO是解决问题的好方法。当M中的某些东西发生变化时,他们会向C发出通知“发生变化”,或者它们会
30、发出指向变化的指针给C。MVC中的模型、视图和控制类如图所示。(1)模型类(2)视图类(3)控制器类1数据结构和关系2.视图和控制器的注册关系1.显示形式2.显示模式控制1.状态1.内部数据和逻辑计算2.向视图和控制器通知数据变化1.从模型获得数据2.视图更新操作1.事件控制2.控制视图更新MVC中的模型、视图和控制器如果控制器的行为依赖于模型的状态,则控制器应该在变化-传播机制中进行注册,并提供一个更新操作。这样,可以由模型的变化来改变控制器的行为,如禁止某些操作。MVC的实现,基于MVC的应用需要完成以下工作,如图所示:2.8 小结与软件所处理问题的内在模型相比较,用户界面是需要经常发生变
31、化的,采用MVC设计模式可以在满足对界面要求的同时,使软件的计算模型独立于界面的构成。本节首先介绍了MVC的三个组成构件(模型构件、视图构件和控制构件),以及实现基于MVC的应用需要完成的工作;接着,对MVC的优点及不足之处进行了分析;最后介绍了几种其他类似的结构模式,并对MVC和PAC进行了比较。第3章 项目需求分析3.1可行性分析可行性分析也可称为可行性研究。是在网上调查的基础上辅助其它的信息渠道,针对基于iOS的汽车客户端的开发是否具备必要性和可能性。对新的汽车客户端的开发从技术、操作、经济等不同方面进行分析研究,来保证投资的失误,保证应用的开发成功。就目前所学知识知道可行性分析可以在最
32、短的时间内分析出这款基于iOS的应用是否可以达到预定的效果。1、经济可行性分析:这款基于iOS的汽车报价类应用的开发是通过苹果系统的Xcode来进行的。自己也可通过专业的抓接口工具获取自己想要的资源,并且这个过程是简单的,不存在浪费人力物力的现象。所以可得出开发一款基于iOS汽车报价类应用在经济方面是可行的。 2、社会可行性分析:开发这款汽车报价类应用,本人不以盈利为目的,不会损害到任何人的利益。本人开发这款汽车报价类应用符合国家的方针政策,不影响任何组织的利益,没有宗教方面的宣传同时不会影响社会稳定。所以可以得出本人开发基于iOS的汽车报价类应用在社会方面是可行的。3、技术可行性分析:开发基
33、于iOS的汽车报价类应用运用的技术是Object-C,以及一些iOS开发的UI设计,某些类库的应用等等。就技术方面而言,自己学习iOS技术已经有四五个月的基础了,而且有过相关类似的开发经验,相对于开发一款汽车报价类软件而言自己的技术是完全可以信任的。而自己的Xcode完全可以胜任这次开发的需求。从而分析得出开发这款汽车报价类应用在技术方面是可行的。所以,综上所述基于iOS的汽车报价类应用的开发是可行的。3.2需求分析再把需求分析进行补充,另你做的这个系统用到数据库了吗?如果用到请在设计章节中进行说明需求分析指的是建立一个新的应用的时候,就这个新的应用的目的、范围、定义及功能这些方面所要做的工作
34、。需求分析是完成一个应用必不可少的部分。在进行一款项目开发的过程中,开发者必须确定客户的需求,在确定了客户需求后才能进行应用的开发。根据当前社会趋势,苹果手机在国内已经成为主流手机之一,单单是iOS方面的汽车类应用已经具备了相当的规模。市场上的应用品牌繁多,定位不一,基本满足了各层次消费者的需求。而最新的调查显示比较大的汽车类应用市场,并不是很乐观。而简单,直观的应用却很受年轻人的青睐和欢迎。所以,设计的重点还是在于简单的外形和其吸引人的性能,新型的汽车应用要有其它的附加功能,可以更好的吸引用户。另加一章:项目总体设计(或功能设计)第4章 项目的详细实现每个功能模块的实现只把关键代码给了就行4
35、.1 项目简介用户在首次使用应用时会出现一个引导页,即可以指导用户如何正确使用该应用以及对应用的一个简单介绍,也可以让用户一眼能看到该软件的亮点;在以后版本升级更新后,这个引导页也是必不可少的,能够让用户一目了然的看到新版本增加的功能。当再次启动应用时引导页则不会再次出现。引导页过后,首先为用户展示的是品牌大全页面,该模块主要包括两部分(顶部的视图是一个collectionView,其被添加在tableView的header上,可左右滑动、上下滑动的视图是一个tableView)。此页面有序展示了世界各国汽车品牌以及国家名称。热门车型功能模块主要为用户展示的是热门、SUV、豪华、其他等车型,点
36、击相应的车型可进入下一页面对相应车型的信息做更为详细的介绍、说明以及展示更多相关信息。新闻资讯等模块展示了一些汽车方面的最新资讯,用户可查看了解更多有关汽车方面的信息。用户设置模块为用户提供了夜间模式,当用户在夜间查看应用的时候可切换至夜间模式查阅,关于应用页面是对应用的版本等信息做的一个简单介绍。4.2 引导页设计 关键代码:/创建 NSUserDefualts 对象(单例)NSUserDefaults *userDefualt = NSUserDefaults standardUserDefaults;if (!userDefualt boolForKey:first) /布局 UIScr
37、ollView /布局 UIImageView /布局pageControluserDefualt setBool:YES forKey:first;/立即执行userDefualt synchronize;用户引导页是用户首次使用此应用时会出现的一个引导页面,即用户正确使用该应用的一个引导。以上这段代码是有关用户引导的一段核心代码,首先通过NSUserDefaults创建一个简易数据库,NSUserDefaults standardUserDefaults;然后系统做判断,当应用程序师第一次启动,也就是以下代码!userDefualt boolForKey:first的判断为真,则开始对用户
38、引导开始布局,并在程序启动时为用户展示,否则,系统就会判断不是第一次启动应用程序,那么程序会立即进入应用的主视图,用户开始体验。4.3 品牌大全设计 关键代码:- (void)viewDidLoad super viewDidLoad; self.tableView.backgroundColor = UIColor whiteColor; self.tableView.bounces = NO; self.tableView registerClass:AllCarsTableViewCell class forCellReuseIdentifier:aa; self.tableView.s
39、eparatorStyle = UITableViewCellSeparatorStyleNone; /请求数据 RequestData alloc initWithURLString: parameterDic:nil delegate:self; 某一品牌车型展示关键代码:- (void)viewDidLoad super viewDidLoad; self customizeNavigationBar; self.navigationItem.title = self.allC; self.tableView.backgroundColor = UIColor white
40、Color; self.tableView.bounces = NO; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self myCircle;self.tableView registerClass:HotCarsTableViewCell class forCellReuseIdentifier:aa;/数据请求 RequestData alloc initWithURLString: parameterDic:brandId:NSString stringWithFormat:%,_allCars.
41、id,type:0 delegate:self;以上代码展示某一品牌下的汽车车型方面的相关信息,并在其header上设置固定图片添加轻拍手势push到下一页面对品牌的介绍。某一车型品牌介绍关键代码:- (void)viewDidLoad super viewDidLoad; self.view.backgroundColor = UIColor whiteColor; self.navigationItem.title = NSString stringWithFormat:%的故事,self.allC; /数据请求 RequestData alloc initWithURLS
42、tring: parameterDic:brandId:NSString stringWithFormat:%,self.allCars.id delegate:self; 以上代码实现webView中图文混合的情况,使之能够适应屏幕大小显示图片和文字。 某一车型相关信息关键代码:- (void)viewDidLoad super viewDidLoad; self.view.backgroundColor = UIColor whiteColor; self.tableView.bounces = NO; self.tableView registerClass:CarsIntroduceT
43、ableViewCell class forCellReuseIdentifier:aa; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; /通过接口数据请求 RequestData alloc initWithURLString: parameterDic:serialId:NSString stringWithFormat:%,self.hotCars.id delegate:self;以上代码又更进一步展示某一具体车型的相关信息。销售信息页面关键代码:- (void)viewDidLoad super
44、viewDidLoad; self.view.backgroundColor = UIColor whiteColor; self.navigationItem.title = 销售信息; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self.tableView registerClass:CarMarketTableViewCell class forCellReuseIdentifier:aa; /数据请求 RequestData alloc initWithURLString: parameterD
45、ic:cartypeId:NSString stringWithFormat:%,self.hotCars.cartypeId,limit:10,orderField:2,orderType:1 delegate:self; 以上代码主要展示某一车型在国内市场的销售地点、销售价格以及销售热线等信息。4.4 热门车型设计热门车型模块关键代码:/初始化控制器并添加到UIScrollViewController上- (void)viewDidLoad super viewDidLoad; self.automaticallyAdjustsScrollViewInsets = NO; /热门车 Hot
46、CarsTableViewController *hotCarsVC = HotCarsTableViewController alloc init; hotCarsVC.view.frame = CGRectMake(0, 64, self.view.bounds.size.width, self.view.bounds.size.height-64-30); self addChildViewController:hotCarsVC; /SUV车 SUVCarsTableViewController *SUVCarsVC = SUVCarsTableViewController alloc
47、 init; SUVCarsVC.view.frame = CGRectMake(self.view.bounds.size.width, 64, self.view.bounds.size.width, self.view.bounds.size.height-64-30); self addChildViewController:SUVCarsVC; /豪华车 LuxuryCarsTableViewController *luxuryCarsVC = LuxuryCarsTableViewController alloc init; luxuryCarsVC.view.frame = CG
48、RectMake(self.view.bounds.size.width*2, 64, self.view.bounds.size.width, self.view.bounds.size.height-64-30); self addChildViewController:luxuryCarsVC; /其他车 OtherCarsTableViewController *otherCarsVC = OtherCarsTableViewController alloc init; otherCarsVC.view.frame = CGRectMake(self.view.bounds.size.
49、width*3, 64, self.view.bounds.size.width, self.view.bounds.size.height-64-30); self addChildViewController:otherCarsVC; 以上代码是在viewDidLoad方法中初始化四个控制器,将控制器的视图展示在self.scrollV上,并对其大小、frame等进行设置,使其展示在适当的位置。 热门页面关键代码:- (void)viewDidLoad super viewDidLoad; self.tableView.backgroundColor = UIColor whiteColo
50、r; self.tableView.bounces = NO; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self myCircle; self.tableView registerClass:HotCarsTableViewCell class forCellReuseIdentifier:aa; /请求数据 RequestData alloc initWithURLString: parameterDic:type:0 delegate:self;热门车型模块展示了热门车型的一些信息,主要分为四个页
51、面,分别是热门、SUV、豪华、其他等类型。四个UITableViewController放在一个UIScrollView上面,设置UIScrollView的contentOffset使其恰好能够显示四个控制器的宽度。4.5 新闻资讯设计 关键代码:- (void)viewDidLoad super viewDidLoad; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self.tableView.frame = CGRectMake(0, 0, self.tableView.bounds.size.wid
52、th, self.tableView.bounds.size.height); /注册cell self.tableView registerClass:CarNewsTableViewCell class forCellReuseIdentifier:aa; /请求数据 RequestData alloc initWithURLString: parameterDic:hasScrollNews:true,currentPage:1,rowCountPerPage:18,act:newsList,subsiteCode:20140719000001,news_column:ff8080814780be9701478a5058931dfa delegate:self; 4.6 行业前景设计 行业前景页面关键代码:- (void)viewDidLoad super viewDidLoad; self.tableView registerClass:CarNewsTableViewCell class forCellReuseIdentifier:aa; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self myCircle; /数据请求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年新课标八年级上册道德与法治《8.1 以国家好 大家才会好 》听课评课记录
- 一年级夜色听评课记录
- 湘教版地理八年级下册5.3《西北地区和青藏地区》(第2课时)听课评课记录
- 鲁教版数学八年级下册8.3《用公式法解一元二次方程》听评课记录
- 五年级数学口算竞赛题
- 苏教版小学数学三年级下册口算题
- 苏教版二年级下册数学口算练习题费
- 小学数学-六年级下册-4-3 正比例图像 听评课记录
- 船员劳动合同范本
- 商业房屋租借合同范本
- 单板硬件测试规范
- 物流营销(第四版) 课件 第六章 物流营销策略制定
- 关于市推动高新技术企业发展的调研报告
- 学校安防监控维保方案
- 13J103-7《人造板材幕墙》
- 上海高考英语词汇手册列表
- 七步洗手法 课件
- 供应商信息安全检查表
- 2023-2024学年四川省凉山州小学语文二年级期末评估考试题详细参考答案解析
- PDCA提高患者自备口服药物正确坚持服用落实率
- 上海石油化工股份有限公司6181乙二醇装置爆炸事故调查报告
评论
0/150
提交评论