




已阅读5页,还剩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 视图加载 SECONDVIEW类 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 China s 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 can t 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 browse merchandise and related mobile phone Key words Phone software scouring machine fans online shopping 3 第一章第一章 淘机迷介绍淘机迷介绍 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 并能够满足几乎所有用户对于无线服务的要求 提到手机 就不能不说到手机的操作系统了 2002 年以前根本就没有严格 意义上的手机操作系统 满足于通话功能的手机并不需要那么复杂的计算能 力 当时的手机平台都是封闭的 各家手机厂商都做自己的芯片 配上自己专 有的软件 并没有一个通用的操作系统 这有点像当初的大型机时代 此后 手机的品种越来越多 承担的 任务 也越来越复杂 一个封闭的系统显然已 经无法满足这种需求 于是智能手机和手机操作系统应运而生 主要的操作系统主要有以下几种 一 Symbian 4 简介 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 操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序 这个操作系统平台为便携式个人电脑提供了多种有利条件 比如 硬件价格低 廉 电池使用寿命长等 在人机界面上 WebOS 非常友好 增强了触控体验 另外强化无线互联功能也是新系统的重要特性 此外支持网页内容和手机内资 料的统一的搜索功能 能够同时处理多个在线任务也是值得期待的看点 代表公司 惠普 三 Windows Phone 简介 Windows Phone 是微软公司发布的一款智能手机操作系统 它发布 于 2010 年 2 月 特点 Windows Phone 具有桌面定制 图标拖拽 滑动控制等一系列前卫 5 的操作体验 其主屏幕通过提供类似仪表盘的体验来显示新的电子邮件 短信 未接来电 日历约会等 让人们对重要信息保持时刻更新 它还包括一个增强 的触摸屏界面 更方便手指操作 以及一个最新版本的 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 特点 1 开源特性 得到众多厂商的支持 由于 Android 的开源特性 所以得到了众多的厂商的支持 除了诺基亚和 苹果之外 其他的手机大牌厂商悉数支持 Android 系统 通过厂商的努力开发 Android 的界面非常丰富 可选择性很强 2 软件发展很快 Android 虽然只有两年的发展 但是也得到了开发者的青睐 目前 Android Market 的软件数量已经达到了 10W 多 对于一个新生的系统已经非常不错 3 界面 UI 系统优化不错 6 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 发出 字样 特点 它和其他手机终端使用的 Symbian Windows Mobile iPhone 等操 作系统有所不同 Blackberry 系统的加密性能更强 更安全无线延伸业务信息 的完整平台 备有保障信息完整性和机密性的高级安全特性 易于部署 管理 和使用 它最大方便之处是提供了邮件的推送功能 即由邮件服务器主动将收 到的邮件推送到用户的手持设备上 而不需要用户频繁地连接网络查看是否有 新邮件 代表公司 黑莓 在众多的手机操作系统中 数以万计的应用软件应运而生 手机软件是一 个很有潜力的市场 7 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 应用程 序的唯一方法就是在当前屏幕上点击该程序的图标 退出程序则是按下屏幕下 方的 home 键 在第三方软件退出后 它直接就被关闭了 但在 iPhone 3 0 及 后续版本中 当第三方软件收到了新的信息时 苹果公司的服务器将把这些通知 推送至 iPhone 或 iPod Touch 上 不管它是否正在运行中 在 iPhone 上 许多 应用程序之间都是有联系的 这样 不同的应用程序能够分享同一个信息 如 当你收到了包括一个电话号码的短信息时 你可以选择是将这个电话号码存为 联络人或是直接选择这个号码打一通电话 开发工具 Xcode 8 Xcode 是一个强大的专业开发工具 可以简单快速 而且以您熟悉的方式 执行绝大多数常见的软件开发任务 相对于创建单一类型的应用程序所需要的 能力而言 Xcode 要强大得多 它的设计目的是使您可以创建任何想象得到的 软件产品类型 从 Cocoa 及 Carbon 应用程序 到内核扩展及 Spotlight 导入器 等各种开发任务 Xcode 都能完成 Xcode 独具特色的用户界面可以帮助您以各种不同的方式来漫游工程中的 代码 并且使您可以访问工具箱下面的大量功能 包括 GCC javac jikes 和 GDB 这些功能都是制作软件产品需要的 它是一个由专业人员设计的 又由 专业人员使用的工具 由于能力出众 Xcode 已经被 Mac 开发者社区广为采纳 而且随着苹果电 脑向基于 Intel 的 Macintosh 迁移 转向 Xcode 变得比以往的任何时候更加重要 这是因为使用 Xcode 可以创建通用的二进制代码 这里所说的通用二进制代码 是一种可以把 PowerPC 和 Intel 架构下的本地代码同时放到一个程序包的执行文 件格式 事实上 对于还没有采用 Xcode 的开发人员 转向 Xcode 是将应用程 序连编为通用二进制代码的第一个必要的步骤 在 Xcode 中的所有活动 从文件的创建和编辑 到应用程序的连编和调试 都是围绕着工程来进行的 Xcode 工程对创建软件产品需要用到的文件和资源 进行组织 并使您可以对其进行访问 无论您创建的是什么样的产品 Xcode 都会为您管理三种类型的信息 源文件的引用 包含源代码 图像 本地化的字符串文件 数据模型 以 及更多的信息 目标 定义要制作的产品 目标将制作产品需要的文件和指令组织为一个 可以执行的连编动作序列 执行环境 您可以在这个环境中运行和测试软件产品 执行环境定义了运 行产品时使用的程序 在很多情况下 这个程序就是产品的本身 但是不一定 是这样 另外 执行环境还可以定义命令行参数和需要用到的环境变量 图 1 1 xcode 的编译连接运行的实现 1 Xcode 如何使用源文件引用 目标 和执行环境 9 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 中实现动画效果 通常有两种方式 一种是直接使用 Buying 类的成员变量 变量名变量类型变量作用 imageBuyUIImageView界面背景 Sting1NSString字符串 1 String2NSString字符串 2 labelBuy1UILabel标签 1 fieldBuyUITextField文本框 buttonUIButton按钮 17 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 地址 街道 楼号 邮编 nil super viewDidLoad 这是一个用于填写邮政编码的实现方法 包含了错误处理 BOOL textField UITextField textField shouldChangeCharactersInRange NSRange range replacementString NSString string if textField fieldAddress int MAX NUMBERS 6 输入的邮编位数 18 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 它也提供 了编制好的索引对象 可以通过制定索引找到要查看的对象 包含可变数组 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 19 从一个数组拷贝到另一个数组 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 删除可变数组指定索引处的对象 Mutablearray removeObjectAtIndex 1 4 5 姓名电话号码的填写和保存 nameAndTelephone 类 nameAndTelephone 类与 address 类的思想一样 用到的方法也一致 表 4 4 nameAndTelephone 类的实现 20 void loadView super loadView UIImageView imageViewBack UIImageViewalloc initWithFrame UIScreen mainScreen bounds imageViewBack image UIImage imageNamed xp jpg 背景图片的添加 self view addSubview imageViewBack 把 imageView 加到当前视图 tableViewName UITableViewalloc initWithFrame 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 forState UIControlStateNormal 设置按钮标题的颜色为白色 buttonOk addTarget self action selector buttonClickSave forControlEvents UIControlStateNormal 为按钮设置响应方法 self view addSubview buttonOk 将按钮添加到当前视图 imageViewBack release nameAndTelephone 类的成员变量 变量名变量类型变量作用 tableViewNameUITableView表格视图 arrayNameNSArray存放名字和电话号码的数组 fieldStyleUITextField用以输入姓名的文本框 fieldStyleNameUITextField用以存放电话号码的文本框 21 本类中用到了 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 4 6 网上银行支付和支付宝支付 paymentStyle 类 表 4 5 paymentStyle 类的实现 22 三种支付方式分别用三个不同的开关来控制 开关是常用的几种控件之一 控件的创建和设置可以分为以下几步来实现 6 CGRect switchRect CGRectMake 120 50 0 0 UISwitch mySwitch UISwitch alloc initWithFrame 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 开关的状态为开时显示文本为 的颜色为绿色 4 7 查询和控制 FirstView 类 表 4 6 FirstView 类的实现 payment 类的成员变量 变量名变量类型变量作用 tableViewPayStyleUITableView表格视图 arrayPayStyleNSArray付款方式的数组 Switch1UISwitch开关 1 网银支付 Switch2UISwitch开关 2 支付宝 Switch3UISwitch开关 3 货到付款 23 本类中涉及到了 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 里能存储图片最大 size 比如 scrollView 为屏幕大小 而要在里面存放几张屏幕大小的图片 那么 一定不能忘了在放图片之前设置 contentSize 8 property nonatomic assign id delegate scrollView 的代理 如当要实现缩放图片时 必须实现 First 类的成员变量 变量名变量类型变量作用 searchDCUISearchDisplayController查询显示控制器 mySearchBarUISearchBar查询吧 crayonColorsNSMutableDictionary可变字典 myPageControlUIPageControl页面控制器 myScrollViewUIScrollView滚动视图 24 UIScrollViewDelegate 里的两个方法 且最大 最小缩放倍数必须不一样 maximumZoomScale minimumZoomScale UIView viewForZoomingInScrollView UIScrollView scrollView 返回 要缩放的图片 必须在代理类里实现 void scrollViewDidEndZooming UIScrollView scrollView withView UIView view atScale float scale 重新确定缩放完后的缩放倍数 常 用来缩放方法 void zoomToRect CGRect rect animated BOOL animated 把 从 scrollView 里截取的矩形区域缩放到整个 scrollView 当前可视的 frame 里面 所以如果截取的区域大于 scrollView 的 frame 时 图片缩小 如果截取区域小 于 frame 会看到图片放大 一般情况下 rect 需要自己计算出来 比如 要把 scrollView 原来坐标点为 40 40 的内容周围内容在 scrollView 里放大一倍 可以 求出需要从 scrollView 里截取图片的 frame 当然主要是求截取图片坐标原点 可以想象 内容放大一倍 那么截取图片的大小宽度肯定是 scrollView 的 frame 大小一半 如下列方法 CGRect getRectWithScale float scale andCenter float center CGRect newRect newRect size width scrollView frame size width scale newRect size height scrollView frame size height scale newRect origin x center x newRect size width 2 newRect origin y center y newRect size height 2 return newRect 9 property nonatomic getter isDirectionalLockEnabled BOOL directionalLockEnabled 滚动方向的锁定 如果一开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国联通软件研究院校园招聘(19个岗位)笔试题库历年考点版附带答案详解
- 2025中国旅游集团所属企业岗位公开招聘24人笔试题库历年考点版附带答案详解
- 2025年军事装备行业军事装备现代化发展研究报告
- 2025年人工智慧行业机器学习应用案例研究报告
- 2025年游戏行业虚拟现实技术应用前景分析报告
- 2025年公共管理行业数字化政府与智慧城市研究报告
- 2025年麻醉学科麻醉医师技能操作考核模拟试卷答案及解析
- 税务三方协议书签订流程
- 2025年精神科抑郁症患者的心理辅导模拟试卷答案及解析
- 2025中国铁路上海局集团有限公司芜湖东站列尾作业员招聘15人笔试备考题库及答案解析
- 《慢性伤口治疗与护理》课件
- 《冠心病合并2型糖尿病患者的血糖管理专家共识(2024版)》解读
- 医疗AI发展中的伦理问题及应对策略
- 2024-2025学年劳动五年级上册制作扇子 教学设计+教学设计人教版
- 车工多选考试题及答案
- 植入式给药装置护理技术(输液港护理团标) 课件
- 支部三会一课记录范文
- 2025《导游业务》高分必会试题库1000题-选择600题
- 北京建工集团合同范本
- 茶叶采购服务方案
- 公共危机管理(本)-第五次形成性考核-国开(BJ)-参考资料
评论
0/150
提交评论