




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
手机淘宝软件设计 目 录 摘 要 .1 第一章 淘机迷介绍 3 1.1 需求分析 .3 1.11 设计背景 .3 1.12 设计目的 .6 1.2 运行环境 .7 1.2.1 开发环境 7 1.2.2 运行环境 9 第二章 模块划分 9 2.1 淘机迷首页 .9 2.2 我的淘机迷 .10 2.3 搜索 .10 第三章 总体设计 10 3.1 系统流程图 .10 3.2 功能的实现(主要的类) .11 第四章 详细设计 15 4.1 初始化界面(wait 类) 15 4.3 购买界面(buying 类) 16 4.4 地址的填写和保存(address 类) 17 4.5 姓名电话号码的填写和保存( nameandtelephone 类) 19 4.6 网上银行支付和支付宝支付(paymentstyle 类) .21 4.7 查询和控制( firstview 类) .22 4.8 视图加载(second view 类) 25 4.9 xml 文件解析(json) 27 第五章 总结与展望 28 5.1 设计总结 .28 5.2 设计展望 .29 1 摘 要 交流在现代社会正起着越来越重要的作用,作为交流工具的手机发展到现 在,已经成为了现代生活的一个随身携带的必备品。摩托罗拉 2004 年的一项关 于手机的调查中,其中一个问题“如果你只能随身带三件东西,你会带什么?” , 用户回答是钥匙、钱包和手机。正是由于随身携带这一点,使得手机已经远远 超过了一个交流工具这种概念,手机包含有键盘等必备配件(或软组件),可 以成为基本的信息输入设备;分辨率越来越高的屏幕可以成为阅读、游戏终端; 可以毫不夸张地说,手机已经成为一个集娱乐、时尚为一体的电子消费品,承 担了制造欢乐、娱乐化的任务。 淘宝网是我国最大的购物网站,每天淘宝的货物交易量都非常的惊人。然 而淘宝交易有一个局限性,就是进行网上交易必须用 pc 机,如果遇到特殊情况, 比如停电、电脑没法上网、网络不稳定、身边没有电脑等一系列状况,都让我 们没法进行网上交易。既然手机随身携带而且轻巧方便,为什么我们不可以做 一款手机软件来进行网上交易哪?淘机迷就是这样一款软件,它解决了手机网 上购物的这个问题。 淘机迷客户端是针对广大手机爱好者设计的一块方便查看及购买手机的平 台,通过本客户端(淘机迷),用户可以实现对淘宝上的手机商品的浏览以及 相关手机的信息。 关键字:手机软件 淘机迷 网络购物 2 abstract communication in modern society is playing a more and more important role as a tool of communication, the mobile phone development to the present, has become a modern life carry essential goods. motorola 2004 on a mobile phone survey, one of the problems of “if you could take three things, what would you take?” the user answers are the keys, wallet and mobile phone. it is due to carry on this point, the mobile phone has been far more than a tool to communicate this concept, mobile phone comprises a keyboard and other necessary accessories (or component), can be the basic information input device; higher and higher resolution screen can be read, a game terminal; can say none exaggerative, mobile phone has become a set of entertainment, fashion as one of the electronic consumer goods, assumed make happiness, entertainment task. t is chinas largest shopping site taobao goods, daily trading volume is very surprising. however taobao transaction has a limitation, is to conduct online transactions must use pc, if encounter unique situations, such as electricity, computer can not access, network instability, no computer and a series of conditions, let us not to conduct online transactions. since the mobile phone portable and lightweight convenience, why cant we do mobile phone software to conduct online transactions? mobile phone taobao is such software, which solves the problem of mobile phone online shopping. mobile phone taobao client for the vast number of mobile phone enthusiasts in two designed a convenient to view and purchase mobile phone platform, through the client (mobile phone taobao), the user can be achieved on the mobile phone taobao 3 browse merchandise and related mobile phone. key words:phone software; scouring machine fans; online shopping 第一章 淘机迷介绍 1.1 需求分析 1.11 设计背景 提到手机,我们或许都不会感到陌生:我们是如此习惯于和手机一起的日 子,甚至离不开它。它已经成为了现代人最不可或缺的东西。 手机,又称“移动电话” ,早期又有大哥大的俗称,是可以在较广范围内使 用的便携式电话终端。目前已发展至 4g 时代。 第一代移动通信标准简称 1g,技术种类为 amps,也就是类比式移动电话 系统,是最早期的移动电话系统,它的传输速率无法提供资料传输,主要是提 供一般语音通讯服务。 第二代移动通信标准简称 2g,技术种类为 cdma 以及 gsm 两种, cdma 的采用国家为美国、巴西、印度及墨西哥等, gsm 主要是欧洲国家使 用,采用 2g 它的传输效率可以做少量文字的传送,以 wap(无线应用通讯协定)服 务来说所提供的传输速率为 9.6kbps;第一代与第二代不同主要在于资料以数位 (digital)或以类比(analog)呈现。目前,中国移动和中国联通使用 gsm 标准, 而中国电信使用的是 cdma 标准。 3g 是英文 3rd generation 的缩写,指第三代通讯技术,是相对于第一代类 比制式手机(1g) 、第二代 gsm、cdma 等数位手机 (2g)而言的。一般来说, 3g 是指将无线通讯与网际网路等多媒体通讯结合的新一代通讯系统。它能够处 理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子 商务等多种资讯服务的系统。目前,三大运行商中中国移动使用 td-scdma, 中国联通使用的是 wcdma,而中国电信使用的是 cdma2000. 4g 是第四代移动通信及其技术的简称,是集 3g 与 wlan 于一体并能够 传输高质量视频图像以及图像传输质量与高清晰度电视不相上下的技术产品。 4g 系统理论上能够以 100mbps 的速度下载,比拨号上网快 2000 倍,上传的速 度也能达到 20mbps,并能够满足几乎所有用户对于无线服务的要求。 4 提到手机,就不能不说到手机的操作系统了。2002 年以前根本就没有严格 意义上的手机操作系统满足于通话功能的手机并不需要那么复杂的计算能 力;当时的手机平台都是封闭的,各家手机厂商都做自己的芯片,配上自己专 有的软件,并没有一个通用的操作系统,这有点像当初的大型机时代。此后, 手机的品种越来越多,承担的“任务”也越来越复杂,一个封闭的系统显然已 经无法满足这种需求,于是智能手机和手机操作系统应运而生 主要的操作系统主要有以下几种: 一、 symbian 简介:symbian 操作系统的前身是英国宝意昂公司(psion)的 epoc 操作 系统,而 epoc 是 electronic piece of cheese 取第一个字母而来的,其原意为“ 使用电子产品时可以像吃乳酪一样简单“,这就是它在设计时所坚持的理念。 为了对抗微软及 palm,取得未来智能移动终端领域的市场先机,1998 年 6 月, 诺基亚、摩托罗拉(motorola) 、爱立信(ericsson) 、三菱(mitsubishi) 和宝意昂(psion)在英国伦敦共同投资成立 symbian 公司。symbian 系统是塞 班公司为手机而设计的操作系统。2008 年 12 月 2 日,诺基亚收购塞班公司, 并将 symbian 转移至塞班基金会,并称将在 2010 年 3 月把 symbian 开放源代码。 2010 年 3 月,塞班基金会转变为相关专利的授权发牌机构,塞班开源成为假开 源。2011 年,诺基亚称 symbian 只对企业开源,塞班开源变成只是种口号。由 于对新兴技术支持欠佳,塞班占智能手机的市场份额日益萎缩。2011 年 12 月 22 日,诺基亚宣布放弃 symbian 名称,下一版本操作系统更名为诺基亚 belle。 特点:第一,提供无线通信服务,将计算技术与电话技术相结合. 第二, 操作系统固化.第三,相对固定的硬件组成。第四,较低的研发成本。第五,强 大的开放性。第六,低功耗,高处理性能。第七,系统运行的安全、稳定性。 第八,多线程运行模式。第九,多种 ui,灵活,简单易操作。 代表公司:诺基亚 二、palm webos 简介:palm webos 是新一代操作系统,通过网络客户端使其拥有前所未 有的扩展能力。palm web os 平台由前苹果公司高管乔恩.鲁宾斯坦(jon rubenstein)领衔开发,而 palm pre 是首款采用 web os 的智能手机。 特点:其本身是一套专门为掌上电脑编写的操作系统,在编写时充分考虑 到了掌上电脑内存相对较小的情况,所以 palm 操作系统本身所占的内存极小, 基于 palm 操作系统编写的应用程序所占的空间也很小,通常只有几十 k b,所 以基于 palm 操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。 这个操作系统平台为便携式个人电脑提供了多种有利条件,比如:硬件价格低 5 廉、电池使用寿命长等。在人机界面上,webos 非常友好,增强了触控体验, 另外强化无线互联功能也是新系统的重要特性,此外支持网页内容和手机内资 料的统一的搜索功能,能够同时处理多个在线任务也是值得期待的看点。 代表公司:惠普 三、windows phone 简介:windows phone 是微软公司发布的一款智能手机操作系统。它发布 于 2010 年 2 月。 特点:windows phone 具有桌面定制、图标拖拽、滑动控制等一系列前卫 的操作体验。其主屏幕通过提供类似仪表盘的体验来显示新的电子邮件、短信、 未接来电、日历约会等,让人们对重要信息保持时刻更新。它还包括一个增强 的触摸屏界面,更方便手指操作;以及一个最新版本的 ie mobile 浏览器该 浏览器在一项由微软赞助的第三方调查研究中,和参与调研的其它浏览器和手 机相比,可以执行指定任务的比例超过高达 48%。很容易看出微软在用户操作 体验上所做出的努力,而史蒂夫-鲍尔默也表示:“全新的 windows 手机把网 络、个人电脑和手机的优势集于一身,让人们可以随时随地享受到想要的体验。 代表公司:诺基亚,htc 四、linux 简介:linux mobile,又叫 limo,是基于 linux 的最新的手机操作系统。 和著名的操作系统 android 属于同源。可用 c+和 j2me 等语言开发应用程序。 特点:由于 limo 可以通过 c/c+进行底层的和中间件的开发,这无疑将 会导致数目众多的 linux hackers 们把 dalvik vm 移植到 limo 系统上,也就意 味着 android 程序会很容易移植到 limo 平台中, limo 将会通吃 j2me、dalvik vm 和 c/c+程序,这样看来,limo 基金会推出的手机系统才是众望所归的手 机操作系统,因为它不仅开发开放,而且性能不错,兼容性也非常好。 代表公司:摩托罗拉 五、android 简介:android 是一种以 linux 为基础的开放源码操作系统,主要使用于便 携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方) 或安致(官方) 。android 操作系统最初由 andy rubin 开发,最初主要支持手机。 2005 年由 google 收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板 电脑及其他领域上。android 的主要竞争对手是苹果公司的 ios 以及 rim 的 blackberry os。2011 年第一季度,android 在全球的市场份额首次超过塞班系 统,跃居全球第一。 2011 年 11 月数据,android 占据全球智能手机操作系统 市场 52.5%的份额,中国市场占有率为 58%。 6 特点:1.开源特性,得到众多厂商的支持 由于 android 的开源特性,所以得到了众多的厂商的支持,除了诺基亚和 苹果之外,其他的手机大牌厂商悉数支持 android 系统,通过厂商的努力开发, android 的界面非常丰富,可选择性很强。 2.软件发展很快 android 虽然只有两年的发展,但是也得到了开发者的青睐,目前 android market 的软件数量已经达到了 10w 多,对于一个新生的系统已经非常不错。 3.界面 ui、系统优化不错 android 来源于 google,目前来看, android 的 ui 设计和系统优化还是非 常不错的,是除了 ios 之外最受好评的系统,而且 android 对于系统的要求并 不苛刻,所以很多机型可以流畅运行。 代表公司:摩托罗拉,三星,htc 六、iphone os 简介:iphone os 是由苹果公司为 iphone 开发的操作系统。它主要是给 iphone 和 ipod touch 使用。就像其基于的 mac os x 操作系统一样,它也是以 darwin 为基础的。iphone os 的系统架构分为四个层次:核心操作系统层(the core os layer) ,核心服务层(the core services layer) ,媒体层(the media layer) ,可轻触层(the cocoa touch layer) 。系统操作占用大概 512mb 的存储 空间。 特点:人性化的操作、系统的深度优化和 30 万的众多应用程序的支持, ios 平台相对于其他的智能平台,可以说是最为封闭的(只有苹果的设备才能 用) ,但是凭借着苹果的研发实力,ios 的优化是做的最好的一款,同时也不会 造成版本升级混乱的问题,配合目前硬件配置处于顶级的 ipad 和 iphone 4,ios 还是目前最优秀的智能系统。 代表公司:苹果 七、blackberry 所谓“黑莓” (blackberry)是加拿大 rim 公司推出的一种移动电子邮件系 统终端,其特色是支持推动式电子邮件、手提电话、文字短信、互联网传真、 网页浏览及其他无线资讯服务。 技术上来说,blackberry 是一种采用双向寻呼 模式的移动邮件系统,兼容现有的无线数据链路。它出现于 1998 年,rim 的 品牌战略顾问认为,无线电子邮件接收器挤在一起的小小的标准英文黑色键盘, 看起来像是草莓表面的一粒粒种子,就起了这么一个有趣的名字。应该说, blackberry 与桌面 pc 同步堪称完美,它可以自动把你 outlook 邮件转寄到 blackberry 中,不过在你用 blackberry 发邮件时,它会自动在邮件结尾加上 “此邮件由 blackberry 发出 ”字样。 7 特点:它和其他手机终端使用的 symbian、windows mobile、iphone 等操 作系统有所不同,blackberry 系统的加密性能更强,更安全无线延伸业务信息 的完整平台,备有保障信息完整性和机密性的高级安全特性,易于部署、管理 和使用。它最大方便之处是提供了邮件的推送功能:即由邮件服务器主动将收 到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有 新邮件。代表公司:黑莓 在众多的手机操作系统中,数以万计的应用软件应运而生,手机软件是一 个很有潜力的市场。 1.12 设计目的 近几年随着网络的发展,网上购物已经成为一种时尚,成为我们生活中必 不可少的一部分。但网上购物存在它致命的局限性,就是需要一台 pc 机,这大 大增加了网上购物的发展。然而随着移动互联网的发展,用手机浏览淘宝网和 进行购物已经称为一种势不可挡的发展趋势。基于这种情况,淘机迷的开发便 势在必行。淘机迷客户端是针对广大手机爱好者而设计的一块方便查看及购买 手机的平台,通过本客户端(淘机迷) ,用户可以实现对淘宝上的手机商品的浏 览以及相关手机的信息。例如中关村在线的最新手机参数,实时掌握最新的手 机动态,用户只需点击操作就可以查看各个品牌、者操作系统、样式及价位区 间的手机的参数信息与价位。 1.2 运行环境 1.2.1 开发环境 硬件要求:一台 mac 电脑或者装了黑苹果系统的笔记本。 开发系统:ios 是由苹果公司为 iphone 开发的操作系统。它主要是给 iphone、ipod touch 以及 ipad 使用。就像其基于的 mac os x 操作系统一样,它 也是以 darwin 为基础的。原本这个系统名为 iphone os,直到 2010 年 6 月 7 日 wwdc 大会上宣布改名为 ios。ios 的系统架构分为四个层次:核心操作系 统层(the core os layer) ,核心服务层(the core services layer) ,媒体层(the media layer) ,可轻触层(the cocoa touch layer) 。 ios 的用户界面的概念基础上是能够使用多点触控直接操作。控制方法包 括滑动,轻触开关及按键。与系统交互包括滑动(swiping),轻按(tapping),挤压 (pinching)及旋转(reverse pinching)。此外,通过其内置的加速器,可以令其旋转设 备改变其 y 轴以令屏幕改变方向,这样的设计令 iphone 更便于使用。 屏幕的 下方有一个 home 按键,底部则是 dock,有四个用户最经常使用的程序的图标 被固定在 dock 上。屏幕上方有一个状态栏能显示一些有关数据,如时间电池 电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动 iphone 应用程 8 序的唯一方法就是在当前屏幕上点击该程序的图标,退出程序则是按下屏幕下 方的 home 键。在第三方软件退出后,它直接就被关闭了,但在 iphone 3.0 及 后续版本中,当第三方软件收到了新的信息时,苹果公司的服务器将把这些通知 推送至 iphone 或 ipod touch 上(不管它是否正在运行中) 。在 iphone 上,许多 应用程序之间都是有联系的,这样,不同的应用程序能够分享同一个信息(如 当你收到了包括一个电话号码的短信息时,你可以选择是将这个电话号码存为 联络人或是直接选择这个号码打一通电话) 。 开发工具:xcode xcode 是一个强大的专业开发工具,可以简单快速、而且以您熟悉的方式 执行绝大多数常见的软件开发任务。相对于创建单一类型的应用程序所需要的 能力而言,xcode 要强大得多,它的设计目的是使您可以创建任何想象得到的 软件产品类型,从 cocoa 及 carbon 应用程序,到内核扩展及 spotlight 导入器 等各种开发任务,xcode 都能完成。 xcode 独具特色的用户界面可以帮助您以各种不同的方式来漫游工程中的 代码,并且使您可以访问工具箱下面的大量功能,包括 gcc,javac ,jikes,和 gdb,这些功能都是制作软件产品需要的。它是一个由专业人员设计的、又由 专业人员使用的工具。 由于能力出众,xcode 已经被 mac 开发者社区广为采纳。而且随着苹果电 脑向基于 intel 的 macintosh 迁移,转向 xcode 变得比以往的任何时候更加重要。 这是因为使用 xcode 可以创建通用的二进制代码,这里所说的通用二进制代码 是一种可以把 powerpc 和 intel 架构下的本地代码同时放到一个程序包的执行文 件格式。事实上,对于还没有采用 xcode 的开发人员,转向 xcode 是将应用程 序连编为通用二进制代码的第一个必要的步骤。 在 xcode 中的所有活动,从文件的创建和编辑,到应用程序的连编和调试, 都是围绕着工程来进行的。xcode 工程对创建软件产品需要用到的文件和资源 进行组织,并使您可以对其进行访问。无论您创建的是什么样的产品,xcode 都会为您管理三种类型的信息: 源文件的引用,包含源代码、图像、本地化的字符串文件、数据模型、以 及更多的信息。 目标,定义要制作的产品。目标将制作产品需要的文件和指令组织为一个 可以执行的连编动作序列。 执行环境,您可以在这个环境中运行和测试软件产品。执行环境定义了运 行产品时使用的程序。在很多情况下,这个程序就是产品的本身,但是不一定 是这样。另外,执行环境还可以定义命令行参数和需要用到的环境变量。 9 图 1-1 xcode 的编译连接运行的实现 1 xcode 如何使用源文件引用、目标、和执行环境。 xcode 工程中的三个元素按上图所示的方式关联在一起。当您执行连编和 运行命令(command-r)时,xcode 会对指定的目标进行处理,该目标则执行 一系列对源代码进行操作的动作,并最终生成一个产品。然后,xcode 就用当 前活动的执行环境运行该产品。 1.2.2 运行环境 测试软件:iphone5.0simulator 手机模拟器 运行设备:iphone、ipad、ipod touch 第二章 模块划分 2.1 淘机迷首页 首页有 uisearchbar,uiscrolleview/动画开始 uiview setanimationduration:0.30; /设置动画持续时间 0.3 秒 uiview setanimationdelegate:self; /添加代理 self.view setframe:cgrectmake(0,0,320,480); /设置大小位置 uiview commitanimations; /提交 动画为用户界面在不同状态之间的迁移过程提供流畅的视觉效果。在 ios 中,动画被广泛用于视图的位置调整、尺寸变化、甚至是 alpha(以实现淡入淡 出的效果) 。要想在 ios 中实现动画效果,通常有两种方式,一种是直接使用 uiview 来创建动画,另一种方式是用 core animation 层来创建动画。相比于用 uiview 创 建动画,core animation 可以让我们获得更底层的对于动画的时间和属性 的控制权。 core animation 是一个 objc 类库,用于处理图像渲染,投射和动画。它提 供以下功能: 1.通过简单的编程模型提供高性能的合成效果。 2.基于熟悉的视图抽象,可以使用树状的对象体系创建复杂的用户界面 3.轻量的数据结构。可以同时对上百个层进行展示和动画。 4.抽象的动画接口,能够让动画运行在独立的线程。一旦动画配制完毕并 启动后,core animation 将负责它的运行和桢速。 5.提升应用程序性能。程序只需要在变化时重画。将应用程序在 resize 时需 要做的处理降到最低并提供 layout 服务层,core animation 让你不再需要手动 处理桢速。 6 灵活的 layout 管理器模型,自带的管理器能让你指定层和其兄弟层的相 对位置和大小。 使用 core animation,开发者不再需要底层图形接口就可以创建高性能的 动态用户界面了。 4.4 地址的填写和保存(address 类) 本类的主要作用是:地址、邮编的填写及确认。以下是本类中的部分实现 方法:本(函数)在视图加载成功后会被系统自动调用。这是一个包含了地址、 街道、楼号、邮编四个 object 的数组 3 - (void)viewdidload arrayaddress = nsarray alloc initwithobjects:“地址:“,“街道:“,“楼号: 18 “,“邮编:“,nil; super viewdidload; / 这是一个用于填写邮政编码的实现方法(包含了错误处理) -(bool)textfield:(uitextfield*)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string if (textfield = fieldaddress) int max_numbers = 6;/输入的邮编位数 nsmutablestring*newtext=nsmutablestring stringwithstring:textfield.text; /可变字符串 newtext replacecharactersinrange:range withstring:string; nscharacterset*numberset for (nsuinteger i = 0; i max_numbers) /没有输入或者输入的数字多于 6 个,则提示输入不正确并提示原因:只能输入 6 位邮编数字 uialertview *alert1 = uialertview alloc initwithtitle:“输入不正确 “message:“只能输入 6 位邮编数字“ delegate:nilcancelbuttontitle:“ok“otherbuttontitles:nil; alert1 show; alert1 release; return no; return yes; 关于数组的用法: 数组和 c 语言中的数组相似,但是 oc 中的数组只能存储对象,不能存 储基本数据类型,如 int、float、enum 、struct 等,也不能存储 nil。它也提供 19 了编制好的索引对象,可以通过制定索引找到要查看的对象。包含可变数组 (nsmutablearray)和不可变数组(nsarray) 。 初始化不可变数组 3: nsarray *array = nsarray alloc initwithobjects:“one“,“two“,“three“,nil;此数组只有三个对象, one,two,three,最后的 nil 可以看出结束符,并不会存入数组中。 nslog(“array count = %d“,array count); /打印数组中对象个数 array objectatindex:2/或许索引 2 处的对象初始化可变数组: nsmutablearray*mutablearray=nsmutablearray arraywithcapacity:0;/设 置可变数组初始长度为 0; 从一个数组拷贝到另一个数组 mutablearray = nsmutablearray arraywitharray:array; /将 array 的对象 拷贝到 mutablearray 中 在可变数组末尾添加对象 mutablearray addobject:“four“; 快速枚举: oc 中提供了快速又集中的访问遍历数组、字典、集的方法,称为快速枚 举 如,现在 array 数组中存在的是字符串的对象,所以快速枚举如下: for(nsstring *str in array) nslog(“array = %“,str); /可以一一输出数组 array 中的对象 从字符串分割到数组 componentsseparatedbystring: nsstring *string = nsstring alloc initwithstring:“one,two,three,four“; nslog(“string:%“,string); nsarray *array = string componentsseparatedbystring:“,“; nslog(“array:%“,array); string release;/从数组合并元素到字符串- componentsjoinedbystring: nsarray *array = nsarray alloc initwithobjects:“one“,“two“,“three“,“four“,nil; nsstring *string = array componentsjoinedbystring:“,“; nslog(“string:%“,string); 删除可变数组指定索引处的对象: 20 mutablearray removeobjectatindex:1; 4.5 姓名电话号码的填写和保存( nameandtelephone 类) nameandtelephone 类与 address 类的思想一样,用到的方法也一致。 表 4-4 nameandtelephone 类的实现 -(void)loadview super loadview; uiimageview*imageviewback=uiimageviewallocinitwithframe: uiscreen mainscreenbounds; imageviewback.image = uiimage imagenamed:“xp.jpg“;/背景图片的添加 self.view addsubview:imageviewback; /把 imageview 加到当前视图 /*/ tableviewname=uitableviewallocinitwithframe:cgrectmake (5,10,310,270) style:uitableviewstylegrouped;/表格视图的创建 tableviewname.backgroundcolor = uicolor clearcolor;/表格视图背景颜色 设置 tableviewname.delegate = self;/设置代理 tableviewname.datasource = self;/设置数据源 self.view addsubview:tableviewname;/把表格视图添加到当前视图 /*/ uibutton*buttonok=uibuttonbuttonwithtype: uibuttontyperoundedrect;/创建按钮 buttonok setframe:cgrectmake(45, 250, 220, 45);/设置按钮的位置和大小 buttonok setbackgroundimage:uiimage imagenamed:“选中.png“ forstate:uicontrolstatenormal; /为按钮添加图片 buttonok settitle:“确认“ forstate:uicontrolstatenormal;/ 设置按钮标题 buttonok settitlecolor:uicolor whitecolor nameandtelephone 类的成员变量 变量名 变量类型 变量作用 tableviewname uitableview 表格视图 arrayname nsarray 存放名字和电话号码的数组 fieldstyle uitextfield 用以输入姓名的文本框 fieldstylename uitextfield 用以存放电话号码的文本框 21 forstate:uicontrolstatenormal;/设置按钮标题的颜色为白色 buttonok addtarget:self action:selector(buttonclicksave) forcontrolevents:uicontrolstatenormal;/为按钮设置响应方法 self.view addsubview:buttonok;/将按钮添加到当前视图 imageviewback release; 本类中用到了 textfield,下面是关于 textfield 用法的简单说明: 如何限制文本框只能输入数字:建立 nsnumberformatter 的子类,增加这个 方法,将 formatter 链接至文本框 5。 - (bool) ispartialstringvalid: (nsstring *) partialstringptr proposedselectedrange: (nsrangepointer) proposedselrangeptr originalstring: (nsstring *) origstring originalselectedrange: (nsrange) origselrange errordescription: (nsstring *) error nscharacterset *nondigits; nsrange newstuff; nsstring *newstuffstring; nondigits = nscharacterset decimaldigitcharacterset invertedset; newstuff = nsmakerange(origselrange.locationproposedselrangeptr- location- origselrange.location); newstuffstring = *partialstringptr substringwithrange: newstuff; if(newstuffstring rangeofcharacterfromset: nondigitsopti*: nsliteralsrch.location != nsnotfound) *error = “不是数字“; return (no); else *error = nil; return (yes); 22 4.6 网上银行支付和支付宝支付(paymentstyle 类) 表 4-5 paymentstyle 类的实现 三种支付方式分别用三个不同的开关来控制。开关是常用的几种控件之一, 控件的创建和设置可以分为以下几步来实现 6: cgrect switchrect = cgrectmake(120,50,0,0); uiswitch *myswitch = uiswitch allocinitwithframe:switchrect; /创建开 关并设置位置 myswitch addtarget:selfaction:selector(switchaction:) forcontrolevents:uicontroleventvaluechanged;/设置开关的响应方法为: switchaction myswitch seton:yes animated:yes;/切换开关的状态 /要访问开关中保存开关文本的两个 uilable,我们可以使用如下代码: uiview *mainview = myswitch subviews objectatindex: 0 subviews objectatindex:2; uilable *onlable = mainview subviews objectatindex:0; uilable *offlable = mainview subviews objectatindex:1; /现在,我们可以修改这些标签的文本和颜色。文本值的选择非常有限,因 为尺寸很小,并且被其包含视图剪裁: onlable.text = ”yes”; /开关的状态为开时显示文本为 :yes offlable.text = ”no”; /开关的状态为关时显示文本为:no onlable.textcolor = uicolor yellowcolor; /开关的状态为开时显示文本为 的颜色为黄色。 offlable.textcolor = uicolor greencolor; /开关的状态为开时显示文本为 的颜色为绿色。 payment 类的成员变量 变量名 变量类型 变量作用 tableviewpaystyle uitableview 表格视图 arraypaystyle nsarray 付款方式的数组 switch1 uiswitch 开关 1(网银支付) switch2 uiswitch 开关 2(支付宝) switch3 uiswitch 开关 3(货到付款) 23 4.7 查询和控制( firstview 类) 表 4-6 firstview 类的实现 本类中涉及到了 uiscrollview,关于 uiscrollview 作以下简单介绍: 1.property(nonatomic) bool bounces /当滚动到内容边缘是否发生反弹, default is yes. 2.property(nonatomic) bool alwaysbouncehorizontal; /是否只在水平发 生反弹,当内容到达边缘。default is no,如果要只在水平反弹那么 bounces 必须 为 yes. 3.property(nonatomic) bool alwaysbouncevertical /当滚动到达边缘时, 是否只有垂直边缘才发生反弹。default is no. 4.property(nonatomic) bool bounceszoom; /当在缩放时,到达图片最大 缩放倍数(maximumzoomscale)或者是最小缩放倍数( minimumzoomscale) 时,为了告诉用户缩放倍数已达极限,是否发生动态反弹的效果来告诉用户。 defaults is yes. 5.property(nonatomic) bool cancancelcontenttouches; /当手指触摸屏幕 后,并没有开始拖动,而隔一段时间后再开始拖动,这个属性决定是否 scorllview 里的图片是否会再继续随着手指的滑动,而图片跟着滑动。defualt isno,图片会跟着手指滑动而滑动。 6. property(nonatomic) cgpoint contentoffset; /scrollview 里的内容(如里 面存的图片)的原点,距离 scrollview 的 frame 属性里的原点(origin) 的距离。按 照一般思维来说,如 scrollview 的 frame 为(0,0,320,480 ),而 scrollview 里的图 片坐标为:(-320,0,320*2,480); 那么 contentoffset 应该为 (-320,0),但实际上是 (320,0),可能是为了方便设置,取为正吧,反正 contentoffset 的 x,y 是不可能为 负的,那样代表滚动已到边缘,发生反弹或者不能再往边缘外拖动。 7.property(nonatomic) cgsize contentsize; /scrollview 里能存储图片最大 first 类的成员变量 变量名 变量类型 变量作用 searchdc uisearchdisplaycontroller 查询显示控制器 mysearchbar uisearchbar 查询吧 crayoncolors nsmutabledictionary 可变字典 mypagecontrol uipagecontrol 页面控制器 myscrollview uiscrollview 滚动视图 24 size。比如 scrollview 为屏幕大小,而要在里面存放几张屏幕大小的图片,那么 一定不能忘了在放图片之前设置 contentsize. 8.property(nonatomic, assign) id
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院后勤服务工作总结
- 医院管理制度范文(35篇)
- 快递企业安全培训内容课件
- 2025年国网英大国际控股集团考试笔试试题(含答案)
- 开发区安全培训讲话稿件课件
- 国网物资安全培训新闻稿课件
- 年末生产车间安全培训记录课件
- 2023-2024学年高一上学期冬季防火安全主题班会教学设计
- 加油站建设应急预案编制方案
- 供水管网水压监测点布设方案
- 2025年市级科技馆招聘笔试重点
- 2025年度房屋拆迁补偿安置房买卖协议
- 2025西电考试题及答案
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- 食堂工作人员食品安全培训
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- 战场急救知识
- GB/T 7324-2010通用锂基润滑脂
- 箱梁施工质量通病及预防措施
- 道路工程质量保证措施
- 吨焊接滚轮架主动滚轮架设计机械CAD图纸
评论
0/150
提交评论