PHP开篇

Size: px
Start display at page:

Download "PHP开篇"

Transcription

1 第 2 章 UI 控 件 学 习 目 标 掌 握 什 么 是 UIView 及 UIView 提 供 的 常 见 属 性 和 方 法 掌 握 常 见 UI 控 件 的 使 用, 能 够 灵 活 使 用 控 件 开 发 ios 应 用 一 个 用 户 体 验 良 好 的 的 应 用, 都 离 不 开 友 好 的 图 形 用 户 界 面,iOS 应 用 开 发 的 一 项 重 要 内 容 就 是 用 户 界 面 的 开 发,iOS 提 供 了 大 量 功 能 丰 富 的 UI 控 件, 开 发 者 只 要 按 一 定 规 律 将 这 些 UI 控 件 组 合 起 来, 就 可 以 开 发 出 优 美 的 图 形 用 户 界 面 本 章 将 针 对 ios 中 的 UI 控 件 进 行 详 细 讲 解 2.1 UIView 概 述 什 么 是 UIView 在 ios 开 发 中, 每 个 UI 控 件 都 相 当 于 一 个 个 小 的 积 木, 这 些 控 件 都 继 承 了 UIView 曾 经 有 人 这 么 说 过, 在 iphone 中, 你 看 到 的 摸 到 的 都 是 UIView, 比 如, 按 钮 图 片 文 字 等 既 然 UIView 是 所 有 控 件 的 父 控 件, 那 么 它 必 定 拥 有 很 多 子 控 件, 接 下 来, 通 过 一 张 图 来 描 述 UIView 的 继 承 体 系 结 构, 如 图 2-1 所 示 1

2 图 2-1 UIView 继 承 体 系 图 从 图 2-1 中 可 以 看 出,UIView 继 承 体 系 中 的 类 具 有 不 同 的 层 次 关 系, 例 如,UIView 继 承 自 UIResponder, 它 提 供 了 许 多 子 类, 如 UILabel UITabBar UIPickerView UIControl 等 其 中,UIControl 类 又 提 供 了 子 类 UIButton UITextField UITextView 等 通 常 情 况 下, 继 承 UIView 的 子 类 对 象 也 称 为 视 图 为 了 便 于 大 家 更 好 地 理 解 这 些 类, 接 下 来, 通 过 一 个 应 用 程 序 界 面 来 讲 解 这 些 类 的 具 体 应 用, 如 图 2-2 所 示 2

3 图 2-2 应 用 程 序 界 面 从 图 2-2 中 可 以 看 出, 应 用 程 序 的 界 面 都 是 由 一 个 一 个 的 控 件 组 成 的, 这 些 控 件 对 应 的 是 不 同 的 类, 这 些 类 在 后 面 的 章 节 中 都 会 进 行 详 细 讲 解, 这 里 大 家 有 个 大 致 印 象 即 可 UIView 的 常 见 属 性 和 方 法 在 开 发 ios 程 序 时, 经 常 需 要 修 改 UI 控 件 的 显 示 状 态, 例 如, 文 件 下 载 的 进 度 条 是 实 时 更 新 的, 论 坛 访 问 人 数 也 是 实 时 变 化 的, 这 些 UI 控 件 状 态 的 修 改, 其 实 就 是 通 过 修 改 UI 控 件 属 性 实 现 的 虽 然 不 同 的 UI 控 件 都 有 自 己 独 特 的 属 性, 但 某 些 属 性 是 每 个 UI 控 件 都 具 备 的 UIView 提 供 了 许 多 公 共 的 属 性, 例 如, 每 个 UI 控 件 都 有 自 己 的 位 置 和 尺 寸, 每 个 UI 控 件 都 有 父 控 件 子 控 件 接 下 来, 通 过 一 张 表 来 列 举 UIView 的 常 见 属 性, 如 表 2-1 所 示 表 2-1 UIView 的 常 见 属 性 属 性 声 UIView NSArray CGAffineTransform NSInteger CGRect CGRect bounds; 功 能 描 述 用 于 获 得 自 己 的 父 控 件 对 象 用 于 获 取 自 己 所 有 的 子 控 件 对 象 用 于 表 示 控 件 的 形 变 属 性 ( 可 以 设 置 旋 转 角 度 比 例 缩 放 平 移 等 属 性 ) 用 于 表 示 控 件 的 ID( 标 识 ), 父 控 件 可 以 通 过 tag 来 找 到 对 应 的 子 控 件 控 件 所 在 矩 形 框 在 父 控 件 中 的 位 置 和 尺 寸 ( 以 父 控 件 的 左 上 角 为 左 边 原 点 ) 用 于 表 示 控 件 所 在 矩 形 框 的 位 置 和 尺 寸 ( 以 3

4 @property(nonatomic) CGPoint CGFloat alpha; 自 己 左 上 角 为 坐 标 原 点 ) 控 件 中 点 的 位 置 ( 以 父 控 件 的 左 上 角 为 坐 标 原 点 ) 用 于 控 制 控 件 的 透 明 度, 其 值 支 持 0.0~1.1 的 任 意 浮 点 数 值 表 2-1 列 举 了 UIView 的 常 见 属 性, 其 中,bounds 属 性 是 以 自 己 左 上 角 为 坐 标 原 点 定 义 控 件 所 在 矩 形 的 位 置 和 尺 寸, 因 此, 它 可 以 实 现 控 件 大 小 的 定 义 ; center 属 性 则 是 以 父 控 件 的 左 上 角 为 左 边 原 点 定 义 控 件 中 点 的 位 置, 它 可 以 实 现 控 件 位 置 的 定 义 ; 而 tag 属 性 则 可 以 定 义 控 件 的 标 识, 它 既 可 以 定 义 控 件 的 位 置, 也 可 以 定 义 控 件 的 大 小 除 此 之 外,UIView 还 提 供 了 许 多 常 见 的 方 法, 具 体 如 表 2-2 所 示 方 法 声 明 表 2-2 UIView 的 常 见 方 法 功 能 描 述 - (void)addsubview:(uiview *)view; 用 于 添 加 一 个 子 控 件 view - (void)removefromsuperview; 用 于 从 父 控 件 中 移 除 - (UIView *)viewwithtag:(nsinteger)tag; 根 据 控 件 的 tag 标 识 找 出 对 应 的 控 件 表 2-2 列 举 了 UIView 的 三 个 常 见 方 法, 其 中,addSubview: 方 法 用 于 向 当 前 视 图 添 加 一 个 子 视 图, 并 将 该 子 视 图 的 保 留 计 数 加 1;removeFromSuperview 方 法 会 从 父 视 图 中 移 除 当 前 视 图, 并 将 当 前 视 图 的 保 留 计 数 减 1; 为 了 方 便 查 找 控 件, 通 常 情 况 下, 我 们 都 会 为 每 个 控 件 添 加 一 个 Tag, 如 果 想 根 据 Tag 查 找 对 应 的 控 件, 则 可 以 使 用 viewwithtag: 方 法 来 实 现 脚 下 留 心 :UIKit 坐 标 系 在 实 际 开 发 中, 经 常 需 要 对 视 图 进 行 各 种 变 换, 比 如, 缩 放 平 移 旋 转 等 而 在 进 行 这 些 操 作 之 前, 都 需 要 明 确 当 前 视 图 的 位 置 和 尺 寸, 而 这 些 数 值 都 与 UIKit 坐 标 系 有 关 接 下 来, 通 过 一 张 图 来 描 述 UIKit 是 如 何 定 义 坐 标 系 的, 具 体 如 图 2-3 所 示 图 2-3 UIKit 坐 标 系 4

5 从 图 2-3 中 可 以 看 出,UIKit 坐 标 系 中 的 原 点 位 于 左 上 角, 横 坐 标 正 方 向 水 平 向 右 延 伸, 纵 坐 标 正 方 向 竖 直 向 下 延 伸, 并 且 图 中 所 示 的 iphone 的 屏 幕 尺 寸 为 标 签 控 件 和 图 片 控 件 UIView 提 供 了 许 多 子 类, 这 些 子 类 分 别 代 表 不 同 的 控 件 在 众 多 的 控 件 中, 有 些 控 件 几 乎 在 每 个 应 用 程 序 中 都 会 用 到, 例 如, 用 于 文 本 显 示 的 标 签 控 件 用 于 展 示 图 片 的 图 片 控 件, 接 下 来, 本 节 将 针 对 这 两 个 最 简 单 的 控 件 进 行 详 细 讲 解 标 签 控 件 (UILabel) 在 ios 开 发 中, 控 件 标 签 是 使 用 UILabel 类 表 示 的, 它 直 接 继 承 自 UIView 类, 是 一 个 用 于 显 示 文 字 的 静 态 控 件 默 认 情 况 下, 标 签 控 件 是 不 能 接 受 用 户 输 入, 也 不 能 与 用 户 交 互 的 为 了 大 家 更 好 地 理 解 什 么 是 标 签 控 件, 接 下 来, 通 过 一 张 图 来 描 述 标 签 控 件 的 应 用 场 景, 如 图 2-4 所 示 标 签 控 件 UILabel 图 2-4 标 签 控 件 的 应 用 图 2-4 是 一 个 用 户 注 册 的 界 面, 该 图 中 使 用 了 多 个 标 签 控 件 用 于 显 示 固 定 的 文 字 由 此 可 见, 标 签 控 件 的 使 用 是 非 常 频 繁 的 要 想 在 程 序 中 使 用 标 签 控 件, 首 先 得 学 会 创 建 标 签 控 件 创 建 标 签 控 件 最 简 单 的 方 式 就 是 将 对 象 库 中 的 Label 控 件 直 接 拖 拽 到 Main.storyboard 编 辑 界 面 中, 具 体 如 图 2-5 所 示 5

6 图 2-5 将 Label 控 件 拖 拽 到 程 序 界 面 从 图 2-5 中 可 以 看 出, 使 用 拖 拽 控 件 的 方 式 可 以 轻 而 易 举 地 完 成 Label 控 件 的 创 建, 这 时, 选 中 Label 控 件, 在 code 右 侧 会 出 现 UILabel 的 属 性 检 查 器 面 板, 用 于 对 Label 控 件 进 行 设 置, 具 体 如 图 2-6 所 示 图 2-6 UILabel 的 属 性 检 查 器 面 板 6

7 图 2-6 标 识 出 了 UILabel 控 件 的 一 些 属 性 设 置, 这 些 属 性 设 置 均 可 改 变 UILabel 控 件 的 显 示 状 态 同 时, 针 对 属 性 检 查 器 面 板 中 的 设 置,UILabel 还 提 供 了 相 应 的 属 性, 接 下 来, 通 过 一 张 表 来 列 举 UILabel 控 件 的 常 见 属 性, 如 表 2-3 所 示 表 2-3 UILabel 的 常 见 属 性 属 性 声 明 功 能 描 NSString UIFont UIColor *textcolor; 设 置 显 示 的 文 本 内 容, 默 认 为 nil 设 置 字 体 和 字 体 大 小, 默 认 为 系 统 字 体 17 号 设 置 文 本 的 颜 色, 默 认 为 黑 UIColor *shadowcolor; 设 置 文 本 的 阴 影 色 彩 和 透 明 度, 默 认 为 nil 设 置 阴 影 纵 横 向 的 偏 移 量, 默 认 CGSize shadowoffset; CGSizeMake(0, -1), 即 为 顶 部 阴 NSTextAlignment 设 置 文 本 在 标 签 内 部 的 对 齐 方 式, 默 认 为 textalignment; NSTextAlignmentLeft, 即 为 居 左 对 NSLineBreakMode 指 定 换 行 模 式, 模 式 为 枚 举 类 型 NSInteger numberoflines; 指 定 文 本 行 数, 为 0 时 没 有 最 大 行 数 限 制 表 2-3 列 举 了 UILabel 控 件 的 常 见 属 性, 其 中 Text 属 性 支 持 两 种 文 本 设 置 方 式, 分 别 是 Plain 和 Attributed;Font 属 性 用 于 设 置 UILabel 显 示 的 字 体 样 式 及 大 小,shadowOffset 用 于 设 置 控 件 内 的 阴 影 文 本 与 正 常 文 本 之 间 的 偏 移, 该 属 性 需 要 指 定 Horizontal 和 Vertical 两 个 值, 分 别 表 示 阴 影 文 本 与 正 常 文 本 在 水 平 和 垂 直 方 向 的 偏 移 距 为 了 大 家 更 好 地 掌 握 标 签 控 件 的 属 性, 接 下 来, 创 建 一 个 Single View Application 应 用, 命 名 为 01_UILabel, 进 入 viewcontroller.m 文 件, 通 过 纯 粹 的 代 码 方 式 来 创 建 一 个 标 签 控 件, 并 且 使 用 UILabel 提 供 的 属 性 对 标 签 进 行 设 置, 具 体 代 码 如 例 2-1 所 示 例 2-1 ViewController.m 1 #import "ViewController.h" ViewController () ViewController 5 - (void)viewdidload { 6 [super viewdidload]; 7 // 1. 初 始 化 标 签 控 件 8 UILabel *label = [[UILabel alloc] init]; 9 // 2. 设 置 标 签 控 件 的 frame 10 CGFloat labelx = 0; // X 值 为 0 11 CGFloat labely = 210; // Y 值 为 CGFloat labelw = self.view.bounds.size.width; //width 值 为 屏 幕 宽 度 7

8 13 CGFloat labelh = 120; // height 值 为 CGRect frame = CGRectMake(labelX, labely, labelw, labelh); 15 label.frame = frame; 16 // 3. 设 置 背 景 颜 色 为 灰 色 17 label.backgroundcolor = [UIColor lightgraycolor]; 18 // 4. 设 置 字 体 和 字 体 颜 色 19 label.text to itcast 传 智 播 客 "; 20 label.font = [UIFont fontwithname:@"helvetica-bold" size:40]; 21 label.textcolor = [UIColor whitecolor]; 22 // 4. 设 置 对 齐 方 式 为 居 中 23 label.textalignment = NSTextAlignmentCenter; 24 // 5. 设 置 阴 影 25 label.shadowcolor = [UIColor colorwithwhite:0.1f alpha:0.8f]; 26 label.shadowoffset = CGSizeMake(2, 3); 27 // 6. 设 置 换 行 28 label.linebreakmode = NSLineBreakByWordWrapping; 29 label.numberoflines = 2; 30 // 显 示 到 UIView 31 [self.view addsubview:label]; 32 } 程 序 的 运 行 结 果 如 图 2-7 所 示 8

9 图 2-7 运 行 结 果 在 例 2-1 中, 创 建 标 签 控 件 和 设 置 属 性 的 具 体 代 码 都 是 在 viewdidload 方 法 中 实 现 的 这 是 因 为 程 序 的 视 图 控 制 器 完 成 视 图 的 加 载 后, 会 自 动 调 用 viewdidload 方 法 对 子 控 件 views 进 行 进 一 步 的 初 始 化 从 图 2-7 中 可 以 看 出, 程 序 成 功 创 建 了 一 个 特 定 样 式 的 标 签 控 件 图 片 控 件 (UIImageView) 友 好 的 用 户 界 面, 离 不 开 丰 富 的 图 片 图 片 控 件 是 用 UIImageView 类 表 示 的, 它 直 接 继 承 于 UIView 类, 是 一 个 用 于 显 示 图 片 的 静 态 控 件 例 如, 应 用 程 序 的 下 载 界 面, 包 含 了 多 个 图 片 控 件, 具 体 如 图 2-8 所 示 图 2-8 应 用 下 载 界 面 图 2-8 是 一 个 应 用 程 序 下 载 的 界 面, 该 界 面 包 含 了 多 个 图 片 控 件, 这 些 图 片 控 件 都 只 有 展 示 的 功 能, 并 不 能 实 现 与 用 户 的 交 互 功 能 要 想 在 程 序 中 使 用 UIImageView 显 示 图 片, 最 简 单 的 方 式 也 是 直 接 将 对 象 库 中 的 ImageView 拖 拽 到 程 序 界 面 中 当 选 中 该 控 件 后, 在 Xcode 右 侧 会 出 现 UIImageView 的 属 性 检 查 器 面 板, 该 面 板 用 于 修 改 UIImageView 的 显 示 状 态, 具 体 如 图 2-9 所 示 9

10 图 2-9 UIImageView 的 属 性 检 查 器 面 板 在 图 2-9 显 示 的 UIImageView 属 性 器 面 板 中, 其 中,Mode 属 性 是 继 承 与 UIView 的, 该 属 性 可 以 控 制 UIImageView 显 示 图 片 的 缩 放 模 式, 单 击 该 属 性 的 下 拉 列 表, 结 果 如 图 2-10 所 示 图 2-10 Mode 属 性 列 表 框 从 图 2-10 所 示,Mode 属 性 包 含 了 很 多 选 项, 这 些 选 项 所 代 表 的 含 义 如 下 所 示 : Scale To Fill: 不 保 持 纵 横 比 缩 放 图 片, 使 图 片 完 全 适 应 该 UIImageView 控 件 Aspect Fit: 保 持 纵 横 比 缩 放 图 片, 使 图 片 的 长 边 能 完 全 显 示, 即 可 以 完 整 地 展 示 图 片 Aspect Fill: 保 持 纵 横 比 缩 放 图 片, 只 能 保 证 图 片 的 短 边 能 完 成 显 示 出 来, 即 图 片 只 能 在 水 平 或 者 垂 直 方 向 是 完 整 的, 另 一 个 方 向 会 发 生 截 取 Center: 不 缩 放 图 片, 只 显 示 图 片 的 中 间 区 域 Top: 不 缩 放 图 片, 只 显 示 图 片 的 顶 部 区 域 Bottom: 不 缩 放 图 片, 只 显 示 图 片 的 底 部 区 域 Left: 不 缩 放 图 片, 只 显 示 图 片 的 左 边 区 域 Right: 不 缩 放 图 片, 只 显 示 图 片 的 右 边 区 域 Top Left: 不 缩 放 图 片, 只 显 示 图 片 的 左 上 边 区 域 Top Right: 不 缩 放 图 片, 只 显 示 图 片 的 右 上 边 区 域 Bottom Left: 不 缩 放 图 片, 只 显 示 图 片 的 左 下 边 区 域 Bottom Right: 不 缩 放 图 片, 只 显 示 图 片 的 右 下 边 区 域 针 对 UIImageView 属 性 检 查 器 面 板 中 的 设 置,UIImageView 类 也 定 义 了 相 应 的 属 性, 接 下 来, 通 过 一 张 表 来 列 举 UIImageView 的 常 见 属 性, 如 表 2-4 所 示 10

11 表 2-4 属 性 声 明 UIImageView 的 常 见 属 性 功 能 描 UIImage *image; 访 问 或 设 置 控 件 显 示 的 图 UIImage *highlightedimage; 设 置 高 亮 状 态 下 显 示 的 图 = isuserinteractionenabled) BOOL 设 置 是 否 允 许 用 户 交 互, 默 认 不 允 许 userinteractionenabled; 用 户 交 BOOL highlighted; 设 置 是 否 高 亮 状 态, 默 认 为 普 通 状 NSArray *animationimages; 设 置 序 列 帧 动 画 的 图 片 数 NSArray 设 置 高 亮 状 态 下 序 列 帧 动 画 的 图 片 *highlightedanimationimages; 数 NSTimeInterval animationduration; 设 置 序 列 帧 动 画 播 放 的 时 NSInteger animationrepeatcount; 设 置 序 列 帧 动 画 播 放 的 次 数 表 2-4 列 举 了 UIImageView 常 见 的 属 性, 其 中, 前 四 个 属 性 是 用 来 设 置 图 片 状 态 的, 后 四 个 属 性 是 用 来 设 置 图 片 动 画 的 这 些 属 性 都 是 操 作 UIImageView 最 常 用 到 的, 在 后 面 的 小 节 中, 将 针 对 这 些 属 性 的 使 用 进 行 详 细 讲 解 由 于 UIImageView 可 以 实 现 序 列 帧 动 画 显 示 一 组 图 片, 因 此,UIImageView 除 了 提 供 实 现 动 画 的 相 关 属 性 外, 还 提 供 了 实 现 序 列 帧 动 画 的 相 关 方 法, 接 下 来, 通 过 一 张 表 来 列 举 UIImageView 关 于 序 列 帧 动 画 播 放 的 相 关 方 法, 具 体 如 表 2-5 所 示 表 2-5 UIImageView 用 于 播 放 帧 动 画 的 相 关 方 法 方 法 声 明 功 能 描 述 - (void)startanimating; 开 始 播 放 动 画 - (void)stopanimating; 停 止 播 放 动 画 - (BOOL)isAnimating; 判 断 是 否 正 在 播 放 动 画 表 2-5 中 列 举 了 三 个 方 法, 这 三 个 方 法 都 是 用 来 控 制 动 画 播 放 状 态 的 实 战 演 练 会 喝 牛 奶 的 汤 姆 猫 相 信 大 家 都 知 道 一 个 比 较 好 玩 的 应 用 叫 会 说 话 的 汤 姆 猫, 该 应 用 中 的 汤 姆 猫 不 仅 可 以 模 仿 人 说 话, 还 可 以 指 挥 汤 姆 猫 进 行 各 种 动 作, 比 如 喝 牛 奶 挠 抓 屏 幕 挨 打 等 动 作 其 实, 这 些 动 作 都 是 一 系 列 图 片 的 动 画 效 果, 接 下 来, 我 们 以 喝 牛 奶 为 例, 带 领 大 家 使 用 图 片 控 件 来 开 发 一 个 会 喝 牛 奶 的 汤 姆 猫, 具 体 步 骤 如 下 : 1. 界 面 设 计 11

12 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 02_UIImageView, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIImageView 控 件 和 一 个 UIButton 控 件, 其 中,UIImageView 控 件 用 于 显 示 汤 姆 猫, UIButton 控 件 用 于 显 示 牛 奶 瓶 (2) 将 提 前 准 备 好 的 图 片 分 别 放 到 Supporting Files 和 Images.xcassets 文 件 中, 并 为 UIImageView 控 件 和 UIButton 控 件 设 置 背 景 图 片, 设 计 好 的 界 面 如 图 2-11 所 示 图 2-11 喝 牛 奶 的 汤 姆 猫 界 面 2. 创 建 控 件 对 象 的 关 联 (1) 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 选 中 UIButton 控 件, 添 加 一 个 点 击 事 件, 命 名 为 drink, 具 体 如 图 2-12 所 示 图 2-12 创 建 UIButton 控 件 对 象 的 关 联 (2) 同 样 的 方 式, 选 中 UIImageView 控 件, 添 加 一 个 表 示 汤 姆 猫 的 对 象, 命 名 为 tom, 具 体 如 图 2-13 所 示 12

13 图 2-13 创 建 UIImageView 对 象 的 关 联 3. 通 过 代 码 实 现 汤 姆 猫 喝 牛 奶 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 汤 姆 猫 喝 牛 奶 的 功 能 了 进 入 ViewController.m 文 件, 在 drink 方 法 中 加 载 图 片, 并 且 设 置 喝 牛 奶 的 一 系 列 动 画, 具 体 代 码 如 例 2-2 所 示 例 2-2 ViewController.m 1 #import "ViewController.h" ViewController () 3 // 声 明 一 个 表 示 汤 姆 猫 的 属 性 tom (weak, nonatomic) IBOutlet UIImageView *tom; 5 // 声 明 一 个 喝 牛 奶 的 方 法 drink 6 - (IBAction)drink:(id)sender; ViewController 9 - (void)viewdidload { 10 [super viewdidload]; 11 // Do any additional setup after loading the view, typically from a nib. 12 } 13 - (IBAction)drink:(id)sender { 14 // 1. 加 载 所 有 的 动 画 图 片 15 NSMutableArray *images=[nsmutablearray array]; 16 for(int i=0;i<81;i++){ 17 // 计 算 文 件 名 18 NSString *filename=[nsstring stringwithformat:@"drink_%02d.jpg",i]; 19 // 加 载 图 片 20 UIImage *image=[uiimage imagenamed:filename]; 13

14 21 // 添 加 图 片 到 数 组 中 22 [images addobject:image]; 23 } 24 self.tom.animationimages=images; 25 //2. 设 置 播 放 次 数 (1 次 ) 26 self.tom.animationrepeatcount=1; 27 // 3. 设 置 播 放 时 间 28 self.tom.animationduration=8; 29 // 4. 开 始 播 放 动 画 30 [self.tom startanimating]; 31 } 在 例 2-2 中, 第 15 行 代 码 创 建 了 一 个 数 组, 用 于 存 放 一 系 列 动 画 图 片, 第 16~23 行 代 码 用 于 将 存 放 在 指 定 目 录 想 的 图 片 添 加 到 数 组 中, 第 24 行 代 码 用 于 设 置 动 画 图 片, 第 26~28 行 代 码 用 于 设 置 动 画 播 放 的 次 数 及 其 持 续 时 间, 第 30 行 代 码 用 于 播 放 动 画 4. 在 模 拟 器 上 运 行 程 序 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 点 击 喝 牛 奶 的 图 标, 一 个 会 喝 牛 奶 的 汤 姆 猫 应 用 成 功 开 发 完 成 了 汤 姆 猫 喝 牛 奶 的 部 分 场 景 如 图 2-14 所 示 图 2-14 会 喝 牛 奶 的 汤 姆 猫 注 意 : PNG 格 式 的 图 片 资 源, 可 以 直 接 放 到 Images.xcassets 文 件 和 Supporting Files 文 件 下 ; 而 JPEG 格 式 的 图 片 资 源, 只 能 放 到 Supporting Files 文 件 下 14

15 2.3 按 钮 控 件 (UIButton) 按 钮 控 件 概 述 按 钮 控 件 是 最 常 用 的 控 件 之 一, 通 常 情 况 下, 点 击 某 个 控 件 后, 会 做 出 相 应 反 应 的 都 是 按 钮 控 件 在 ios 开 发 中, 按 钮 控 件 使 用 UIButton 表 示 的, 它 直 接 继 承 自 UIControl:UIView, 是 一 个 既 能 显 示 文 字, 又 能 显 示 图 片, 还 能 随 时 调 整 内 部 图 片 和 文 字 位 置 的 按 钮 例 如, 播 放 器 界 面 有 很 多 按 钮 控 件, 具 体 如 图 2-15 所 示 图 2-15 播 放 器 界 面 中 的 按 钮 图 2-15 展 示 的 是 播 放 器 界 面 中 的 一 部 分, 这 部 分 包 含 了 5 个 按 钮 控 件, 这 些 控 件 都 是 可 点 击 的, 并 且 点 击 这 些 按 钮 控 件 后, 会 做 出 不 同 的 反 应 同 标 签 控 件 图 片 控 件 一 样, 创 建 按 钮 控 件 最 简 单 的 方 式, 也 是 通 过 拖 拽 控 件 的 方 式 来 完 成 进 入 对 象 库, 选 中 Button 控 件, 在 code 右 侧 会 出 现 UIButton 的 属 性 检 查 器 面 板, 具 体 如 图 2-16 所 示 15

16 图 2-16 UIButton 的 属 性 检 查 器 面 板 图 2-16 展 示 的 是 UIButton 所 支 持 的 一 些 属 性, 其 中,Type 和 State Config 属 性 比 较 难 理 解, 接 下 来, 针 对 这 两 个 属 性 进 行 详 细 讲 解, 具 体 如 下 : 1. Type 该 属 性 用 于 设 置 按 钮 的 类 型, 它 支 持 多 个 选 项, 单 击 Type 下 拉 列 表, 如 图 2-11 所 示 图 2-17 按 钮 控 件 的 Type 属 性 从 图 2-17 中 可 以 看 出, 按 钮 控 件 的 Type 属 性 有 6 个 选 项, 这 6 个 选 项 表 示 的 含 义 如 下 所 示 : Custom: 该 选 项 表 示 按 钮 控 件 是 开 发 者 自 己 定 义 的, 是 最 常 被 选 用 的 Type 类 型 System: 该 选 项 是 ios 默 认 的 按 钮 风 格 Detail Disclosure: 该 按 钮 通 常 用 于 显 示 当 前 列 表 项 的 详 情, 最 新 发 布 的 ios8 中 显 示 图 标 Info Light: 显 示 图 标 的 图 形 按 钮, 该 按 钮 通 常 用 于 显 示 简 短 的 说 明 信 息 16

17 Info Dark: 显 示 图 标 的 图 形 按 钮, 该 按 钮 通 常 用 于 显 示 简 短 的 说 明 信 息 Add Contact: 显 示 图 标 的 图 形 按 钮, 该 按 钮 通 常 用 于 显 示 添 加 联 系 人 2.State Config 该 属 性 用 于 配 置 该 按 钮 的 状 态, 它 支 持 多 个 选 项, 单 击 State Config 下 拉 列 表, 如 图 2-18 所 示 图 2-18 按 钮 控 件 的 State Config 属 性 从 图 2-18 中 可 以 看 出, 按 钮 控 件 的 State Config 属 性 有 4 个 选 项, 这 4 个 选 项 表 示 的 含 义 如 下 所 示 : Default: 这 是 按 钮 默 认 的 状 态 Highlighted: 当 用 户 触 碰 该 按 钮 时, 该 按 钮 显 示 高 亮 状 态 Selected: 表 示 按 钮 被 选 中 的 状 态 Disabled: 表 示 按 钮 被 禁 用 后 的 状 态 针 对 UIButton 属 性 检 查 器 面 板 中 的 设 置,UIButton 类 也 定 义 了 相 应 的 属 性, 接 下 来, 通 过 一 张 表 来 列 举 UIButton 的 常 见 属 性, 如 表 2-6 所 示. 表 2-6 UIButton 类 的 常 见 属 性 属 性 声 明 功 能 描 UIButtonType buttontype; 用 于 设 置 按 钮 控 件 的 类 UILabel *titlelabel; 用 于 设 置 按 钮 控 件 显 示 的 文 UIImageView *imageview; 用 于 显 示 按 钮 控 件 的 图 片 除 此 之 外,UIButton 类 还 提 供 了 许 多 可 以 设 置 UIButton 外 观 的 方 法, 这 些 方 法 都 比 较 常 用, 表 2-7 列 举 了 UIButton 提 供 的 常 见 方 法 表 2-7 UIButton 类 的 常 见 方 法 方 法 声 明 功 能 描 述 - (void)settitle:(nsstring *)title forstate:(uicontrolstate)state; 用 于 设 置 按 钮 的 文 本 和 状 态 - (void)settitlecolor:(uicolor *)color forstate:(uicontrolstate)state; 用 于 设 置 按 钮 的 标 题 颜 色 和 状 态 - (void)setbackgroundimage:(uiimage *)image 用 于 设 置 按 钮 的 背 景 图 片 和 状 态 17

18 forstate:(uicontrolstate)state; - (void)setimage:(uiimage *)image 用 于 设 置 按 钮 的 图 片 和 状 态 forstate:(uicontrolstate)state; 表 2-7 列 举 的 方 法 中 都 需 要 指 定 一 个 forstate 参 数, 该 参 数 是 一 个 UIControlState 整 数 值, 用 于 接 收 UIControlStateNormal UIControlStateHighlighted UIControlStateDisabled UIControlStateSelected 等 状 态 的 值, 该 四 个 状 态 所 代 表 的 值, 刚 好 是 图 2-12 所 列 出 的 四 种 状 态 实 战 演 练 使 用 按 钮 移 动 旋 转 缩 放 图 片 UIButton 作 为 ios 开 发 中 最 常 用 的 控 件 之 一, 它 主 要 用 于 响 应 用 户 在 界 面 中 触 发 的 事 件 为 了 帮 助 大 家 熟 练 掌 握 UIButton 的 使 用, 接 下 来, 带 领 大 家 使 用 按 钮 控 件 来 控 制 图 片 的 移 动 旋 转 和 缩 放, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 03_UIButton, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIImageView 控 件 和 八 个 UIButton 控 件, 其 中,UIImageView 控 件 用 于 显 示 要 操 作 的 图 片,UIButton 控 件 用 于 控 制 图 片 的 上 下 左 右 移 动 左 右 旋 转 和 放 大 缩 小 (2) 将 提 前 准 备 好 的 图 片 放 到 Supporting Files 文 件 中, 并 为 UIImageView 控 件 和 UIButton 控 件 设 置 背 景 图 片 设 计 好 的 界 面 如 图 2-19 所 示 图 2-19 按 钮 操 作 图 片 的 界 面 在 图 2-19 中, 上 移 下 移 左 移 右 移 的 操 作, 分 别 和 图 中 箭 头 的 方 向 对 应, 左 旋 右 旋 和 放 大 缩 小 也 一 样 需 要 注 意 的 是, 为 了 区 分 移 动 旋 转 缩 放 的 不 同 按 钮, 我 们 需 要 为 每 个 按 钮 设 置 一 个 Tag 属 性, 这 里, 我 们 为 上 移 下 移 左 移 右 移 左 旋 转 右 旋 转 放 大 缩 小 设 置 的 Tag 属 性 为 创 建 控 件 对 象 的 关 联 (1) 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 为 具 备 移 动 操 作 的 四 个 UIButton 控 件, 添 加 同 一 个 点 击 事 件, 命 名 为 run, 具 体 如 图 2-20 所 示 18

19 图 2-20 创 建 移 动 按 钮 对 象 的 关 联 (2) 同 样 的 方 式, 为 旋 转 按 钮 缩 放 按 钮 添 加 相 应 的 事 件, 分 别 命 名 为 rotate 和 scale, 为 UIImageView 添 加 属 性, 命 名 为 img, 添 加 完 成 后 的 界 面 如 图 2-21 所 示 图 2-21 完 成 控 件 对 象 关 联 后 的 界 面 从 图 2-21 中 可 以 看 出, 完 成 控 件 对 象 的 关 联 后, 在 ViewController.m 文 件 中 会 自 动 生 成 控 件 对 象 对 应 属 性 和 方 法 的 声 明 3. 通 过 代 码 实 现 图 片 的 移 动 旋 转 缩 放 功 能 19

20 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 按 钮 移 动 旋 转 缩 放 图 片 的 功 能 了 进 入 ViewController.m 文 件, 通 过 代 码 对 不 同 的 方 法 进 行 实 现, 具 体 代 码 如 例 2-3 所 示 例 2-3 ViewController.m 1 #import "ViewController.h" ViewController () 3 // 声 明 一 个 表 示 图 片 的 属 性 img (weak, nonatomic) IBOutlet UIImageView *img; 5 - (IBAction)scale:(id)sender; // 声 明 缩 放 图 片 的 方 法 6 - (IBAction)rotate:(id)sender;// 声 明 旋 转 图 片 的 方 法 7 - (IBAction)run:(id)sender; // 声 明 移 动 图 片 的 方 法 ViewController 10 - (void)viewdidload { 11 [super viewdidload]; 12 } 13 // 用 于 缩 放 图 片 的 方 法 14 - (IBAction)scale:(id)sender { 15 // 获 取 图 片 的 transform 属 性 16 CGAffineTransform t=self.img.transform; 17 // 获 取 图 片 的 tag 属 性 18 NSInteger tag = [sender tag]; 19 if (tag==7) { 20 CGAffineTransform temtransform =CGAffineTransformScale(t, 1.2,1.2); 21 self.img.transform = temtransform; 22 }else{ 23 CGAffineTransform temtransform = CGAffineTransformScale(t, 0.8,0.8); 24 self.img.transform=temtransform; 25 } 26 } 27 // 用 于 旋 转 图 片 的 方 法 28 - (IBAction)rotate:(id)sender { 29 // 获 取 图 片 的 transform 属 性 30 CGAffineTransform temtransform=self.img.transform; 31 // 获 取 按 钮 的 tag 属 性 32 NSInteger rotatetag=[sender tag]; 33 if (rotatetag==5) { 34 self.img.transform=cgaffinetransformrotate(temtransform,m_pi_4 * -1); 35 }else{ 20

21 36 self.img.transform = CGAffineTransformRotate(temtransform,M_PI_4 * 1); 37 } 38 } 39 // 用 于 移 动 图 片 的 方 法 40 - (IBAction)run:(id)sender { 41 // 获 取 图 片 的 frame 属 性 42 CGRect tmpframe = self.img.frame; 43 // 获 取 按 钮 的 tag 属 性 44 NSInteger runtag=[sender tag]; 45 switch (runtag) { 46 case 1: // 向 上 移 动 47 tmpframe.origin.y-=10; 48 self.img.frame=tmpframe; 49 break; 50 case 2: // 向 下 移 动 51 tmpframe.origin.y+=10; 52 self.img.frame=tmpframe; 53 break; 54 case 3: // 向 左 移 动 55 tmpframe.origin.x-=10; 56 self.img.frame=tmpframe; 57 break; 58 case 4: // 向 右 移 动 59 tmpframe.origin.x+=10; 60 self.img.frame=tmpframe; 61 break; 62 default: 63 break; 64 } 65 } 在 例 2-3 中, 使 用 按 钮 对 图 片 进 行 各 种 操 作 时, 首 先 都 是 获 取 图 片 对 象 的 相 关 属 性, 然 后 根 据 图 片 对 象 的 Tag 属 性, 执 行 不 同 的 动 作 以 run 方 法 为 例, 该 方 法 用 于 实 现 图 片 的 移 动 操 作, 第 41~44 行 代 码 分 别 获 取 了 图 片 的 frame 和 按 钮 的 tag 属 性, 第 45~65 行 代 码 使 用 switch 语 句, 根 据 按 钮 的 tag 属 性, 判 断 按 钮 移 动 的 方 向, 并 对 frame 属 性 的 坐 标 位 置 进 行 修 改, 从 而 实 现 图 片 的 移 动 4. 在 模 拟 器 上 运 行 程 序 21

22 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 点 击 不 同 的 按 钮 操 作 图 片, 发 现 图 片 可 以 实 现 移 动 旋 转 和 缩 放 了 使 用 按 钮 对 图 片 进 行 移 动 旋 转 缩 放 后 的 部 分 图 片 如 图 2-22 所 示 图 2-22 使 用 按 钮 移 动 旋 转 缩 放 图 片 2.4 文 本 框 控 件 和 文 本 控 件 在 ios 开 发 中, 经 常 需 要 一 些 现 实 文 字 的 控 件, 虽 然 UILabel 标 签 可 以 实 现 文 字 的 展 示, 但 它 不 能 和 用 户 进 行 交 互, 为 此,UIKit 框 架 提 供 了 UITextField 和 UITextView 文 本 控 件, 接 下 来, 本 节 将 针 对 这 两 个 控 件 进 行 详 细 地 讲 解 文 本 框 控 件 (UITextField) 在 ios 开 发 中, 文 本 框 控 件 使 用 UITextField 来 表 示, 它 和 UIButton 控 件 一 样, 都 直 接 继 承 自 UIControl 控 件, 并 且 可 以 和 用 户 进 行 交 互 为 了 帮 助 大 家 更 好 地 理 解 什 么 是 文 本 框 控 件, 接 下 来, 通 过 新 浪 微 博 登 录 的 界 面 来 展 示 UITextField 的 使 用 场 景, 如 图 2-23 所 示 22

23 图 2-23 新 浪 微 博 登 录 界 面 图 2-23 显 示 的 是 一 个 新 浪 微 博 的 登 录 界 面, 该 界 面 中 的 用 户 名 和 密 码 输 入 框 都 是 使 用 文 本 框 控 件 UITextField 控 件 实 现 的 由 此 可 见,UITextField 控 件 不 仅 可 以 显 示, 同 时 可 供 用 户 输 入 或 者 编 辑 文 本 要 想 在 程 序 中 使 用 UITextField, 首 先 得 学 会 创 建 UITextField 同 样 从 对 象 库 中 找 到 Text Field, 将 其 拖 拽 到 Main.storyboard 编 辑 界 面 中, 这 样 就 轻 而 易 举 地 创 建 了 一 个 文 本 输 入 框 选 中 Text Field 控 件,Xcode 右 侧 出 现 了 UITextField 的 属 性 检 查 器 面 板, 该 面 板 用 于 设 置 UITextField 的 相 关 属 性, 具 体 如 图 2-24 所 示 23

24 图 2-24 UITextField 的 属 性 检 测 器 面 板 图 2-24 显 示 的 是 UITextField 所 支 持 的 一 些 属 性, 通 过 设 置 这 些 属 性, 可 以 使 文 本 框 的 状 态 发 生 相 应 的 变 化 接 下 来, 针 对 Clear Button 属 性 和 Keyboard Type 属 性 进 行 详 细 讲 解 1. Clear Button Clear Button 用 于 控 制 何 时 显 示 清 除 按 钮, 选 中 文 本 框 控 件, 单 击 该 属 性 的 下 拉 列 表, 结 果 如 图 2-25 所 示 图 2-25 Clear Button 属 性 支 持 的 选 项 图 2-25 展 示 的 是 UITextField 控 件 的 Clear Button 属 性 选 项, 这 些 选 项 所 代 表 的 含 义 如 下 所 示 : Never appears: 从 不 显 示 清 除 按 钮 Appears while editing: 当 编 辑 内 容 时 显 示 清 除 按 钮 Appears uniess editing: 除 了 编 辑 之 外, 都 会 显 示 清 除 按 钮 Is always visible: 清 除 按 钮 一 直 可 见 2. Keyboard Type Keyboard Type 用 于 设 置 文 本 框 关 联 的 键 盘 类 型, 选 中 文 本 框 控 件, 单 击 该 属 性 的 下 拉 列 表, 结 果 如 图 2-26 所 示 24

25 图 2-26 Keyboard Type 属 性 支 持 的 选 项 图 2-26 显 示 的 是 Keyboard Type 属 性 所 支 持 的 选 项, 这 些 选 项 所 代 表 的 含 义 如 下 所 示 : Default: 显 示 默 认 的 虚 拟 键 盘 ASCII Capable: 显 示 英 文 字 母 键 盘 Numbers and Punctuation: 显 示 数 字 和 标 点 符 号 键 盘 Number Pad: 显 示 数 字 键 盘 Phone Pad: 显 示 电 话 拨 号 键 盘 Address: 显 示 输 入 地 址 的 虚 拟 键 盘 Decimal Pad: 显 示 可 输 入 数 字 和 小 数 点 的 虚 拟 键 盘 针 对 UITextField 属 性 检 查 器 面 板 设 置 的 属 性,UITextField 类 也 定 义 了 与 之 对 应 的 属 性, 接 下 来 通 过 一 张 表 来 列 举 UITextField 的 常 见 属 性, 如 表 2-8 所 示 表 2-8 UITextField 的 常 见 属 性 属 性 声 明 功 能 描 UIControlContentVerticalAlignment 设 置 文 本 框 内 文 本 的 垂 直 对 齐 方 式 NSString *placeholder; 设 置 文 本 框 未 输 入 文 本 时 的 提 示 信 UITextBorderStyle borderstyle; 设 置 文 本 框 边 框 的 样 式 25

26 @property(nonatomic) UITextFieldViewMode clearbuttonmode; 设 置 文 本 框 是 否 显 示 清 除 按 BOOL securetextentry; 设 置 文 本 框 输 入 的 字 符 是 否 密 文 显 UITextAutocorrectionType autocorrectiontype; 设 置 是 否 自 动 更 正 文 本 框 内 的 文 本 内 BOOL clearsonbeginediting; 再 次 编 辑 时 是 否 清 空 之 前 的 文 本 内 BOOL adjustsfontsizetofitwidth; 设 置 文 本 内 容 是 否 适 应 文 本 框 窗 口 大 设 置 文 本 框 内 文 本 内 容 首 字 母 是 否 为 UITextAutocapitalizationType 大 写 BOOL editing; 设 置 文 本 框 内 文 本 内 容 是 否 允 许 编 id<uitextfielddelegate> delegate; 设 置 代 UIKeyboardType keyboardtype; 设 置 文 本 框 关 联 的 键 盘 类 UIKeyboardAppearance keyboardappearance; 设 置 文 本 框 关 联 键 盘 的 外 观 样 UIReturnKeyType returnkeytype; 设 置 文 本 框 关 联 键 盘 的 回 车 键 类 UIView *leftview; 设 置 文 本 框 左 侧 视 UITextFieldViewMode leftviewmode; 设 置 文 本 框 左 视 图 的 显 示 方 UIView *rightview; 设 置 文 本 框 右 侧 视 UITextFieldViewMode rightviewmode; 设 置 文 本 框 右 视 图 的 显 示 方 式 表 2-7 列 举 出 了 UITextField 的 常 见 属 性, 其 中 delegate 为 代 理 属 性, 如 果 一 个 对 象 要 想 监 听 文 本 框 的 动 态, 例 如 限 制 文 本 框 输 入 内 容 的 个 数, 该 对 象 可 以 成 为 文 本 框 的 代 理 来 实 现 监 听, 但 是 前 提 是 要 遵 守 UITextFieldDelegate 协 议, 该 协 议 的 定 义 方 式 如 下 所 示 UITextFieldDelegate // 文 本 框 是 否 可 以 进 入 编 辑 模 式 ( 是 否 可 进 入 输 入 状 态 ) - (BOOL)ç:(UITextField *)textfield; // 文 本 框 进 入 编 辑 模 式 26

27 - (void)textfielddidbeginediting:(uitextfield *)textfield; // 是 否 退 出 编 辑 模 式 ( 是 否 可 结 束 输 入 状 态 ) - (BOOL)textFieldShouldEndEditing:(UITextField *)textfield; // 退 出 编 辑 模 式 ( 结 束 输 入 状 态 ) - (void)textfielddidendediting:(uitextfield *)textfield; // 当 输 入 任 何 字 符 时, 代 理 调 用 该 方 法 -(BOOL)textField:(UITextField *)textfield shouldchangecharactersinrange: (NSRange)range replacementstring:(nsstring *)string; // 是 否 可 以 点 击 清 除 按 钮 - (BOOL)textFieldShouldClear:(UITextField *)textfield; // 点 击 键 盘 上 的 return 按 钮 时 调 用 - (BOOL)textFieldShouldReturn:(UITextField 从 上 述 代 码 中 可 以 看 出,UITextFieldDelegate 协 议 中 定 义 了 许 多 供 代 理 监 听 的 方 法, 这 些 方 法 会 在 文 本 框 的 不 同 状 态 下 被 调 用 例 如,textFieldShouldReturn 方 法 是 点 击 键 盘 上 的 return 键 按 钮 时 调 用 的 方 法, 该 方 法 可 以 实 现 单 击 return 键 后 所 执 行 的 行 为 实 战 演 练 用 户 登 录 传 智 播 客 UITextField 作 为 用 户 输 入 文 本 的 控 件 之 一, 它 经 常 会 运 用 在 一 些 用 户 的 登 录 界 面, 例 如, 新 浪 微 博 的 登 录 界 面, 用 户 名 和 密 码 的 文 本 输 入 框 就 是 使 用 UITextField 实 现 的 为 了 帮 助 大 家 更 好 地 学 习 UITextField 的 使 用, 接 下 来, 带 领 大 家 开 发 一 个 用 户 登 录 传 智 播 客 的 案 例, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 04_UITextField, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIImageView 控 件 两 个 UITextField 控 件 和 一 个 UIButton 控 件, 其 中,UIImageView 控 件 用 于 显 示 Logo 图 片,UITextField 控 件 用 于 输 入 用 户 登 录 的 用 户 名 和 密 码,UIButton 控 件 用 于 用 户 的 登 录 (2) 将 提 前 准 备 好 的 图 片 放 到 Supporting Files 文 件 中, 并 为 UIImageView 控 件 和 UIButton 控 件 设 置 背 景 图 片 为 了 确 保 密 码 的 安 全, 通 常 情 况 下, 我 们 都 会 将 密 码 设 置 为 密 文 显 示, 即 用 于 输 入 密 码 的 UITextField 控 件 中 的 Secure Text Entry 属 性 勾 选 上 设 计 好 的 界 面 如 图 2-27 所 示 27

28 图 2-27 用 户 登 录 的 界 面 2. 创 建 控 件 对 象 的 关 联 (1) 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 为 UITextField 控 件 添 加 用 于 表 示 用 户 名 和 密 码 的 属 性, 分 别 命 名 username 和 password, 创 建 好 的 界 面 如 图 2-28 所 示 图 2-28 为 UITextField 控 件 添 加 属 性 (2) 同 样 的 方 式, 为 登 录 按 钮 添 加 一 个 事 件, 命 名 为 login, 添 加 完 成 后 的 界 面 如 图 2-29 所 示 28

29 图 2-29 为 UIButton 控 件 添 加 用 于 点 击 的 方 法 3. 通 过 代 码 实 现 用 户 登 录 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 用 户 登 录 的 功 能 了 为 了 演 示 用 户 登 录 的 功 能, 我 们 假 设 有 一 个 用 户 名 为 itcast, 密 码 为 的 用 户 使 用 代 码 实 现 用 户 登 录 功 能 的 代 码 如 例 2-4 所 示 例 2-4 viewcontroller.m 1 #import "ViewController.h" ViewController () 3 - (IBAction)login:(id)sender;// 用 于 声 明 UIButton 按 钮 的 点 击 事 件 4 // 用 于 声 明 两 个 UITextField 控 件 所 对 应 的 属 性 (weak, nonatomic) IBOutlet UITextField *password; (weak, nonatomic) IBOutlet UITextField *username; ViewController 9 - (void)viewdidload { 10 [super viewdidload]; 11 } 12 - (IBAction)login:(id)sender { 13 // 获 取 用 户 名 14 NSString *username=self.username.text; 15 // 获 取 密 码 16 NSString *password=self.password.text; 17 // 判 断 用 户 名 和 密 码 是 否 正 确 18 if ([username isequaltostring:@""] [password isequaltostring:@""]) { 19 [self showmessage:@" 用 户 名 或 密 码 不 能 为 空 "]; 29

30 20 }else if(![password 21![username 22 [self 用 户 名 或 密 码 错 误 "]; 23 }else if([username 24 [password 25 [self 登 录 成 功 "]; 26 } 27 } 28 // 提 示 信 息 的 方 法 29 -(void)showmessage:(nsstring *) message{ 30 UIAlertView *alert=[[uialertview alloc] initwithtitle:nil message: 31 message delegate:nil cancelbuttontitle:@" 确 定 " 32 otherbuttontitles:nil,nil]; 33 [alert show]; 34 } 在 例 2-4 中, 第 83~93 行 代 码 用 于 对 用 户 名 和 密 码 进 行 判 断, 并 且 调 用 了 showmessage 方 法 显 示 登 录 的 结 果,showMessage 方 法 是 程 序 第 95~100 行 代 码 定 义 的 一 个 方 法, 该 方 法 首 先 创 建 了 一 个 UIAlertView, 并 在 创 建 该 对 象 时 指 定 了 警 告 框 的 标 题 消 息 内 容 以 及 警 告 框 包 含 的 按 钮 信 息, 然 后 调 用 show 方 法, 将 创 建 的 UIAlertView 对 象 显 示 出 来 4. 在 模 拟 器 上 运 行 程 序 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 在 文 本 框 中 输 入 用 户 名 和 密 码, 点 击 登 录 按 钮, 这 时, 不 管 用 户 名 和 密 码 输 入 的 是 否 正 确, 都 会 弹 出 一 个 对 应 的 提 示 框, 具 体 效 果 如 图 2-30 所 示 图 2-30 用 户 登 录 的 运 行 结 果 30

31 2.4.3 多 行 文 本 控 件 (UITextView) 在 ios 应 用 中, 经 常 需 要 输 入 多 行 文 本, 这 时, 需 要 使 用 UITextView 控 件 实 现 与 UITextField 控 件 相 比,UITextView 继 承 自 UIScrollView:UIView 类, 它 不 仅 可 以 输 入 并 显 示 文 本, 而 且 可 以 在 固 定 的 区 域 展 示 足 够 多 的 文 本, 并 且 这 些 文 本 内 容 可 以 换 行 显 示 为 了 帮 助 大 家 更 好 地 理 解 什 么 是 UITextView, 接 下 来, 通 过 一 张 发 表 微 博 的 图 片 来 展 示 UITextView 的 应 用 场 景, 具 体 如 图 2-31 所 示 图 2-31 UITextView 的 使 用 场 景 图 2-31 是 发 送 微 博 的 界 面, 其 中, 发 表 微 博 内 容 的 区 域 是 一 个 可 以 滚 动 显 示 的 文 本 框, 它 是 由 一 个 多 行 文 本 控 件 实 现 的 通 常 情 况 下, 多 行 文 本 控 件 也 称 为 文 本 视 图 同 样, 在 学 习 UITextView 控 件 之 前, 先 来 看 一 下 UITextView 控 件 所 支 持 的 属 性 从 对 象 库 中 将 Text View 直 接 拖 拽 到 Main.storyboard 编 辑 界 面 并 选 中, 在 Xcode 右 侧 会 出 现 了 UITextView 的 属 性 检 查 器 面 板, 具 体 如 图 2-32 所 示 31

32 图 2-32 UITextView 的 属 性 检 测 器 面 板 图 2-32 标 识 出 了 UITextView 常 见 属 性 的 设 置, 这 些 属 性 所 代 表 的 含 义 比 较 简 单, 大 家 可 以 通 过 修 改 属 性 的 设 置, 体 会 这 些 属 性 对 UITextView 所 起 的 作 用 除 了 可 以 在 属 性 检 查 器 面 板 中 设 置 属 性 外, 还 可 以 使 用 UITextView 类 提 供 的 属 性 来 进 行 设 置, 接 下 来, 通 过 一 张 表 来 列 举 UITextView 的 常 见 属 性, 具 体 如 表 2-9 所 示 表 2-9 UITextView 的 常 见 属 性 属 性 声 明 功 能 描 设 置 代 理 id<uitextviewdelegate> BOOL 设 置 文 本 视 图 是 否 可 编 辑 BOOL 设 置 文 本 视 图 是 否 可 选 择 selectable; 设 置 文 本 视 图 输 入 时 是 否 清 除 之 BOOL clearsoninsertion; 的 文 NSAttributedString 设 置 文 本 视 图 默 认 插 入 的 文 字 内 容 (readwrite, retain) UIView (readwrite, retain) UIView UIViewAutoresizing autoresizingmask; 设 置 底 部 弹 出 的 视 图 设 置 底 部 弹 出 视 图 上 方 的 辅 助 视 图 设 置 文 本 视 图 自 动 适 应 高 度 32

33 表 2-8 列 举 了 UITextView 的 常 见 属 性, 其 中 delegate 为 代 理 属 性, 文 本 视 图 的 事 件 交 由 委 托 代 理 对 象 处 理, 实 现 对 文 本 视 图 的 监 听, 但 是 前 提 要 遵 守 UITextViewDelegate 协 议, 该 协 议 的 定 义 方 式 如 下 所 示 UITextViewDelegate <NSObject, // 用 户 将 要 开 始 编 辑 UITextView 的 内 容 时 会 激 发 该 方 法 - (BOOL)textViewShouldBeginEditing:(UITextView *)textview; // 用 户 开 始 编 辑 该 UITextView 的 内 容 时 会 激 发 该 方 法 - (void)textviewdidbeginediting:(uitextview *)textview; // 用 户 将 要 结 束 编 辑 该 UITextView 的 内 容 时 会 激 发 该 方 法 - (BOOL)textViewShouldEndEditing:(UITextView *)textview; // 用 户 结 束 编 辑 该 UITextView 的 内 容 时 会 激 发 该 方 法 - (void)textviewdidendediting:(uitextview *)textview; // 该 UITextView 内 指 定 范 围 内 的 文 本 内 容 将 要 被 替 换 时 激 发 该 方 法 - (BOOL)textView:(UITextView *)textview shouldchangetextinrange:(nsrange)range replacementtext:(nsstring *)text; // 该 UITextView 中 包 含 的 文 本 内 容 发 生 改 变 时 会 激 发 该 方 法 - (void)textviewdidchange:(uitextview *)textview; // 用 户 选 中 该 UITextView 内 某 些 文 本 时 会 激 发 该 方 法 - (void)textviewdidchangeselection:(uitextview 从 上 述 代 码 中 可 以 看 出,UITextViewDelegate 协 议 中 定 义 了 很 多 方 法, 这 些 方 法 会 在 不 同 的 状 态 下 被 激 发 例 如 textview:shouldchangetextinrange 方 法 是 替 换 多 行 文 本 控 件 中 指 定 文 本 时 会 触 发 的 方 法, 该 方 法 可 以 实 现 把 回 车 键 当 做 退 出 键 盘 的 响 应 键 2.5 开 关 控 件 (UISwitch) 开 关 控 件 概 述 在 某 些 ios 应 用 中, 经 常 会 看 到 一 些 类 似 传 统 物 理 开 关 的 控 件, 例 如, 手 电 筒 的 开 关 Setting 选 项 中 的 定 位 开 关 等, 这 些 开 关 都 是 使 用 开 关 控 件 UISwitch 实 现 的, 为 了 大 家 更 好 地 理 解 什 么 是 开 关 控 件, 接 下 来, 通 过 一 张 图 来 描 述 开 关 控 件 的 应 用 场 景, 具 体 如 图 2-33 所 示 33

34 图 2-33 Setting 选 项 中 的 Safari 选 项 图 2-33 显 示 的 是 一 个 Setting 选 项 中 的 Safari 选 项 界 面, 该 界 面 中 包 含 了 很 多 UISwitch 控 件, 并 且 这 些 控 件 都 只 有 开 / 关 两 种 状 态 UISwitch 控 件 继 承 自 UIControl 类, 它 是 一 个 可 以 与 用 户 进 行 交 互 的 控 件 同 样, 在 学 习 UISwitch 控 件 之 前, 先 来 看 一 下 UISwitch 所 支 持 的 属 性 将 对 象 库 中 的 UISwitch 控 件 拖 拽 到 Main.storyboard 编 辑 界 面 并 选 中,Xcode 右 侧 会 出 现 UISwitch 的 属 性 检 查 器 面 板, 具 体 如 图 2-34 所 示 图 2-34 UISwitch 控 件 的 属 性 检 查 器 面 板 从 图 2-34 中 可 以 看 出,UISwitch 控 件 属 性 检 查 器 面 板 中 的 属 性 比 较 少, 其 中,State 属 性 用 于 切 换 开 关 控 件 的 开 / 关 状 态, 应 用 程 序 可 以 通 过 属 性 on 或 方 法 ison 来 检 测 当 前 的 状 态 实 战 演 练 使 用 开 关 控 制 灯 泡 在 iphone 或 ipad 设 备 上, 经 常 会 看 到 类 似 于 手 电 筒 这 种 应 用, 它 的 界 面 比 较 简 单, 只 有 一 个 开 关 控 制 手 电 筒 的 打 开 关 闭 状 态, 出 于 这 种 设 计 思 路, 接 下 来, 我 们 使 用 开 关 控 件 UISwitch 来 控 制 灯 泡, 当 用 户 打 开 UISwitch 时, 应 用 程 序 界 面 的 灯 泡 图 片 是 点 亮 的, 当 用 户 关 闭 UISwitch 控 件 时, 灯 泡 的 图 片 是 熄 灭 的, 具 体 步 骤 如 下 : 1. 界 面 设 计 34

35 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 05_UISwitch, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIImageView 控 件 和 一 个 UISwitch 控 件, 其 中,UIImageView 控 件 用 于 显 示 灯 泡 的 图 片,UISwitch 控 件 用 于 显 示 开 关 (2) 将 提 前 准 备 好 的 图 片 放 到 Supporting Files 文 件 中, 并 将 UISwitch 控 件 的 初 始 状 态 设 置 为 打 开,UIImageView 控 件 的 初 始 图 片 是 灯 泡 点 亮 的 状 态, 设 计 好 的 界 面 如 图 2-35 所 示 图 2-35 使 用 开 关 控 制 灯 泡 的 界 面 2. 创 建 控 件 对 象 的 关 联 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 为 UIImageView 控 件 添 加 表 示 图 片 对 象 的 属 性, 命 名 为 img; 同 理, 为 UISwitch 控 件 添 加 切 换 开 关 状 态 的 方 法, 命 名 为 change, 添 加 完 成 后 的 界 面 如 图 2-36 所 示 35

36 图 2-36 为 控 件 对 象 添 加 关 联 3. 通 过 代 码 实 现 灯 泡 开 关 的 控 制 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 灯 泡 开 关 的 控 制 了 进 入 ViewController.m 文 件, 在 change 方 法 中, 首 先 判 断 灯 泡 切 换 时 的 状 态, 然 后 根 据 灯 泡 开 关 的 状 态 对 灯 泡 的 图 片 进 行 切 换 使 用 开 关 控 制 灯 泡 的 具 体 代 码 如 例 2-5 所 示 例 2-5 viewcontroller.m 1 #import "ViewController.h" ViewController () 3 -(IBAction)change:(id)sender; (weak, nonatomic) IBOutlet UIImageView *img; ViewController 7 - (void)viewdidload { 8 [super viewdidload]; 9 } 10 - (IBAction)change:(id)sender { 11 if(![sender ison]){ 12 // 获 取 文 件 的 名 称 13 NSString *filename=[nsstring stringwithformat:@"img_01.jpg"]; 14 // 加 载 图 片 15 UIImage *image=[uiimage imagenamed:filename]; 16 // 更 换 图 片 17 self.img.image=image; 18 }else { 19 // 获 取 文 件 的 名 称 20 NSString *filename=[nsstring stringwithformat:@"img_02.jpg"]; 21 // 加 载 图 片 22 UIImage *image=[uiimage imagenamed:filename]; 23 // 更 换 图 片 24 self.img.image=image; 25 } 26 } 在 例 2-5 中,change 方 法 是 控 制 灯 泡 开 关 的 核 心 代 码, 当 程 序 通 过 调 用 ison 方 法 后, 如 果 判 断 的 结 果 不 是 YES, 则 说 明 控 制 灯 泡 的 开 关 是 关 闭 状 态, 这 时, 将 当 前 界 面 的 图 片 使 用 img_02 替 换 同 理, 如 果 开 关 是 打 开 状 态, 则 将 当 前 页 面 的 图 片 替 换 为 img_01 4. 在 模 拟 器 上 运 行 程 序 36

37 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 点 击 开 关 按 钮, 发 现 使 用 开 关 可 以 控 制 灯 泡 具 体 效 果 如 图 2-37 所 示 图 2-37 使 用 开 关 控 制 灯 泡 的 运 行 结 果 2.6 滑 块 控 件 (UISider) 滑 块 控 件 概 述 在 播 放 器 界 面, 经 常 可 以 看 到 类 似 于 进 度 条 的 控 件, 比 如, 音 量 的 控 制 播 放 进 度 的 控 制 在 ios 开 发 中, 这 种 使 用 滑 块 来 改 变 数 值 的 控 件 称 为 滑 块 控 件 滑 块 控 件 使 用 UISider 表 示, 它 继 承 自 UIControl, 是 一 个 可 以 与 用 户 进 行 交 互 的 控 件 接 下 来, 通 过 一 张 音 乐 播 放 的 图 片 来 展 示 UISider 的 应 用 场 景, 如 图 2-38 所 示 37

38 图 2-38 音 乐 播 放 器 的 的 界 面 图 2-38 所 示 的 是 一 个 音 乐 播 放 器 的 界 面, 该 播 放 器 中 的 歌 曲 播 放 进 度 就 是 一 个 滑 块 控 件, 它 可 以 通 过 拖 动 的 方 式 来 改 变 音 乐 的 播 放 进 度 同 学 习 其 他 控 件 一 样, 从 对 象 库 中 将 滑 块 控 件 拖 拽 到 Main.storyboard 编 辑 界 面 中 并 选 中, 在 Xcode 右 侧 查 看 UISider 的 属 性 检 查 器 面 板 中 的 相 关 属 性, 具 体 如 图 2-39 所 示 图 2-39 UISider 的 属 性 检 查 器 面 板 图 2-39 展 示 了 UISider 支 持 的 一 些 属 性, 这 些 属 性 都 可 以 改 变 UISider 的 状 态 同 时, 针 对 UISider 属 性 检 查 器 面 板 设 置 的 属 性,UISider 类 也 定 义 了 与 之 对 应 的 属 性, 接 下 来 通 过 一 张 表 来 列 举 UISider 的 常 见 属 性, 如 表 2-10 所 示 表 2-10 UISider 的 常 见 属 性 属 性 声 明 功 能 描 float value; 设 置 或 者 获 取 滑 块 的 值 38

39 @property(nonatomic) float minimumvalue; 设 置 滑 块 的 最 小 值, 默 认 为 float maximumvalue; 设 置 滑 块 的 最 大 值, 默 认 为 UIImage *minimumvalueimage; 设 置 滑 块 最 小 值 边 界 的 图 UIImage *maximumvalueimage; 设 置 滑 块 最 大 值 边 界 的 图 UIColor *minimumtracktintcolor; 设 置 小 于 滑 块 当 前 值 的 轨 道 颜 色, 默 认 为 蓝 UIColor *maximumtracktintcolor; 设 置 大 于 滑 块 当 前 值 的 轨 道 颜 色, 默 认 为 白 UIColor *thumbtintcolor; 设 置 当 前 拖 动 条 的 颜 色, 默 认 为 白 色 表 2-10 列 举 出 了 UISider 常 见 的 一 些 属 性, 它 们 都 可 以 改 变 滑 块 的 样 式 同 时 UISider 类 还 提 供 了 相 应 的 方 法, 用 来 定 制 滑 块 的 外 观, 接 下 来 通 过 一 张 表 来 列 举 UISider 的 常 见 方 法, 如 表 2-11 所 示 表 2-11 UISider 的 常 见 方 法 方 法 声 明 功 能 描 述 - (void)setthumbimage:(uiimage *)image forstate:(uicontrolstate)state; 设 置 滑 块 上 拖 动 条 的 图 片 - (void)setminimumtrackimage:(uiimage *)image forstate:(uicontrolstate)state; 设 置 滑 块 已 完 成 进 度 的 轨 道 图 片 - (void)setmaximumtrackimage:(uiimage *)image forstate:(uicontrolstate)state; 设 置 滑 块 未 完 成 进 度 的 轨 道 图 片 表 2-11 列 举 出 了 UISider 常 见 的 一 些 方 法, 这 些 方 法 都 需 要 传 入 UIImage 对 象, 使 用 图 片 来 改 变 UISider 的 外 观 实 战 演 练 使 用 滑 块 控 制 音 量 在 大 多 数 应 用 中, 音 量 的 控 制 都 是 通 过 滑 块 控 件 实 现 的 为 了 帮 助 大 家 更 好 地 学 习 滑 块 控 件 UISider 的 使 用, 接 下 来, 我 们 来 模 拟 实 现 一 个 控 制 音 量 的 功 能, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 06_UISider, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UISlider 控 件 一 个 UILabel 控 件 和 一 个 UIImageView 控 件, 其 中 UIImageView 用 于 显 示 图 片,UILabel 用 于 提 示 用 户 拖 动 滑 块,UISlider 用 于 根 据 不 同 的 阶 段 的 值 切 换 图 片 (2) 将 UISlider 控 件 的 的 Current 属 性 为 0.4,UILabel 控 件 的 text 属 性 设 置 为 提 示 : 请 拖 动 滑 块 改 变 音 量 39

40 (3) 将 提 前 准 备 好 的 图 片 资 源 放 到 Supporting Files 文 件 中, 为 UIImageView 设 置 默 认 显 示 的 图 片, 设 计 好 的 界 面 如 图 2-40 所 示 图 2-40 使 用 滑 块 控 制 音 量 的 界 面 2. 创 建 控 件 对 象 的 关 联 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 选 中 UIImageView, 添 加 一 个 表 示 音 量 的 对 象, 命 名 为 voiceimagev, 同 样, 为 UISlider 控 件 添 加 一 个 表 示 音 量 控 制 的 滑 块 对 象, 命 名 为 slider, 添 加 完 成 后 的 界 面 如 图 2-41 所 示 图 2-41 创 建 控 件 对 象 关 联 后 的 界 面 3. 通 过 代 码 实 现 调 节 音 量 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 调 节 音 量 的 功 能 了 进 入 ViewController.m 文 件, 根 据 滑 块 数 值 的 变 化 适 时 地 切 换 音 量 图 片, 具 体 代 码 如 例 2-6 所 示 例 2-6 ViewController.m 40

41 1 #import "ViewController.h" ViewController () 3 // 滑 块 (weak, nonatomic) IBOutlet UISlider *slider; 5 // 音 量 图 片 (weak, nonatomic) IBOutlet UIImageView *voiceimagev; ViewController 9 - (void)viewdidload { 10 // 1. 为 滑 块 控 件 UISider 添 加 监 听 器 11 [self.slider addtarget:self action:@selector(valuechange:) 12 forcontrolevents:uicontroleventvaluechanged]; 13 } 14 // 滑 块 数 值 发 生 变 化 时 会 调 用 的 方 法 15 - (void)valuechange:(uislider *)slider0 16 { 17 // 1. 设 置 图 片 的 数 量 18 int count = 4; 19 // 2. 获 取 滑 块 的 值 20 float level = slider0.value; 21 // 3. 根 据 滑 块 的 值 适 时 切 换 图 片 22 if (level>=0 && level<1.0/(count-1)) { 23 self.voiceimagev.image = [UIImage imagenamed:@"voice0.jpg"]; 24 }else if (level>=1.0/(count-1) && level<2.0/(count-1)){ 25 self.voiceimagev.image = [UIImage imagenamed:@"voice1.jpg"]; 26 }else if(level>=2.0/(count-1) && level<1){ 27 self.voiceimagev.image = [UIImage imagenamed:@"voice2.jpg"]; 28 }else if(level == 1){ 29 self.voiceimagev.image = [UIImage imagenamed:@"voice3.jpg"]; 30 } 31 } 在 例 2-6 中, 第 11~12 行 代 码 为 滑 块 控 件 添 加 监 听 器 方 法, 并 设 置 数 值 变 化 的 监 听 方 法 是 valuechange:, 第 15~31 行 代 码 则 是 方 法 valuechange 的 具 体 实 现, 该 方 法 通 过 划 分 UISider 控 件, 更 换 不 同 的 表 示 音 量 的 图 片, 从 而 实 现 了 对 音 量 的 控 制 4. 在 模 拟 器 上 运 行 程 序 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 以 后, 拖 动 滑 块, 发 现 音 量 可 以 根 据 滑 块 的 拖 动 来 改 变 大 小 使 用 滑 块 控 制 音 量 的 部 分 运 行 结 果 如 图 2-42 所 示 41

42 图 2-42 使 用 滑 块 实 现 音 量 调 节 2.7 分 段 控 件 (UISegmentControl) 分 段 控 件 概 述 目 前, 很 多 手 机 App 程 序 都 会 在 界 面 上 设 计 一 栏 按 钮, 这 些 按 钮 可 以 通 过 切 换, 在 屏 幕 上 展 现 不 同 的 内 容, 例 如, 网 易 新 闻 页 面 频 道 栏 中 的 头 条 娱 乐 图 片 等, 在 ios 中, 这 种 可 以 在 不 同 类 别 信 息 间 进 行 切 换 的 控 件, 称 为 分 段 控 件, 接 下 来, 通 过 一 张 图 片 来 展 示 分 段 控 件 的 应 用 场 景, 具 体 如 图 2-43 所 示 图 2-43 公 交 换 乘 的 应 用 分 段 控 件 使 用 UISegmentControl 表 示, 它 继 承 自 UIControl, 是 一 个 可 活 动 的 控 件 同 其 他 控 件 一 样, 分 段 控 件 也 可 以 通 过 拖 拽 的 方 式 创 建 将 对 象 库 中 的 UISegmentControl 控 件 拖 拽 到 42

43 Main.storyboard 编 辑 界 面 中 并 选 中, 在 Xcode 右 侧 会 出 现 UISegmentControl 的 属 性 检 查 器 面 板, 具 体 如 图 2-44 所 示 图 2-44 UISegmentControl 的 属 性 检 查 器 面 板 从 图 2-44 中 可 以 看 出,UISwitch 控 件 属 性 检 查 器 面 板 中 的 属 性 比 较 少, 其 中,Segments 属 性 的 值 是 一 个 整 数, 它 用 于 控 制 分 段 控 件 被 分 为 几 段,Segment 属 性 则 是 一 个 列 表 框, 它 所 包 含 的 列 表 项 随 着 Segments 属 性 设 置 的 值 而 改 变, 例 如,Segments 的 属 性 设 为 4, 那 么 Segment 的 列 表 框 将 包 含 4 个 列 表 项, 并 且 Segment 0 代 表 第 1 个 分 段,Segment 1 代 表 第 2 个 分 段, 以 此 类 推 实 战 演 练 使 用 分 段 控 件 控 制 花 朵 分 段 控 件 在 实 际 开 发 中 应 用 的 是 非 常 广 泛 的, 为 了 帮 助 大 家 更 好 地 掌 握 分 段 控 件, 接 下 来, 我 们 使 用 分 段 控 件 开 发 一 个 控 制 花 朵 颜 色 的 案 例, 该 案 例 中 共 有 3 个 分 段, 点 击 每 个 分 段 就 会 出 现 不 同 颜 色 的 花 朵, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 命 名 07_UISegmentControl, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UILabel 控 件 一 个 UIImageView 控 件 和 一 个 UISegmentControl 控 件, 其 中,UILabel 控 件 用 于 提 示 用 户 选 择 花 朵 颜 色,UIImageView 控 件 用 于 显 示 花 朵,UISegmentControl 控 件 用 于 控 制 花 朵 的 显 示 (2) 将 提 前 准 备 好 的 图 片 放 到 Supporting Files 文 件 中, 将 UISegmentControl 的 Segments 属 性 设 置 为 3,Segment 属 性 分 别 设 置 为 对 应 的 花 朵 图 片, 设 计 好 的 界 面 如 图 2-45 所 示 43

44 图 2-45 使 用 分 段 控 件 控 件 花 朵 的 界 面 2. 创 建 控 件 对 象 的 关 联 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 为 UIImageView 控 件 添 加 表 示 图 片 对 象 的 属 性, 命 名 为 img; 同 理, 为 UISegmentControl 控 件 添 加 点 击 按 钮 的 方 法, 命 名 为 selectchange, 添 加 完 成 后 的 界 面 如 图 2-46 所 示 图 2-46 为 控 件 对 象 创 建 关 联 3. 通 过 代 码 实 现 用 户 登 录 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 花 朵 的 切 换 了 进 入 ViewController.m 文 件, 在 selectchange 方 法 中, 根 据 分 段 控 件 的 Segment 属 性 判 断 点 击 的 是 哪 个 分 段, 从 而 控 制 不 同 颜 色 花 朵 的 显 示 使 用 分 段 控 件 控 制 花 朵 的 具 体 代 码 如 例 2-7 所 示 例 2-7 viewcontroller.m 1 #import "ViewController.h" 44

45 ViewController () 3 - (IBAction)selectchange:(id)sender;// 声 明 用 于 切 换 图 片 的 分 段 控 件 (weak, nonatomic) IBOutlet UIImageView *img;// 声 明 一 个 图 片 控 件 ViewController 7 - (void)viewdidload { 8 [super viewdidload]; 9 } 10 - (IBAction)selectchange:(id)sender { 11 // 创 建 要 切 换 的 图 片 对 象 12 UIImage *img1=[uiimage imagenamed:@"flower_01.jpg"]; 13 UIImage *img2=[uiimage imagenamed:@"flower_02.jpg"]; 14 UIImage *img3=[uiimage imagenamed:@"flower_03.jpg"]; 15 switch ([sender selectedsegmentindex]) { 16 case 0: 17 self.img.image=img1; 18 break; 19 case 1: 20 self.img.image=img2; 21 break; 22 case 2: 23 self.img.image=img3; 24 break; 25 default: 26 break; 27 } 28 } 在 例 2-7 中, 第 12~14 行 代 码 创 建 了 三 个 UIImage 对 象, 第 15~28 行 代 码 通 过 判 断 分 段 控 件 选 中 的 位 置, 为 UIImageView 对 象 设 置 图 片 4. 在 模 拟 器 上 运 行 程 序 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 点 击 分 段 控 件 中 的 每 个 分 段, 发 现 分 段 控 件 可 以 按 照 期 望 控 制 不 同 颜 色 的 花 朵 了 具 体 效 果 如 图 2-47 所 示 45

46 图 2-47 使 用 分 段 控 件 控 制 花 朵 的 运 行 结 果 2.8 数 据 选 择 控 件 日 期 选 择 控 件 (UIDatePicker) UIDatePicker 是 一 个 可 以 用 来 选 择 日 期 和 时 间 的 控 件, 它 继 承 自 UIControl, 是 一 个 可 以 与 用 户 交 互 的 控 件 例 如, 计 时 器 应 用 中 就 用 到 了 UIDatePicker 控 件, 如 图 2-48 所 示 图 2-48 计 时 器 应 用 46

47 UIDatePicker 控 件 同 样 可 以 通 过 拖 拽 的 方 式 创 建, 从 对 象 库 中 找 到 UIDatePicker 控 件, 并 将 其 拖 拽 到 Main.storyboard 编 辑 界 面 中, 这 时, 在 Xcode 右 侧 看 到 UIDatePicker 属 性 检 查 器 面 板 中 的 相 关 属 性, 具 体 如 图 2-49 所 示 图 2-49 UIDatePicker 的 属 性 检 查 器 面 板 图 2-49 显 示 的 是 UIDatePicker 所 支 持 的 一 些 属 性, 其 中,Mode 和 Date 属 性 都 支 持 多 种 选 项, 下 面 针 对 这 两 种 属 性 进 行 详 细 讲 解 : 1. Mode Mode 属 性 用 于 设 置 UIDatePicker 的 模 式, 它 包 含 4 种 选 项, 单 击 Mode 属 性 的 下 拉 列 表, 具 体 如 图 2-50 所 示 图 2-50 mode 属 性 的 四 种 选 项 从 图 2-50 中 可 以 看 出,UIDatePicker 控 件 有 四 种 模 式 可 以 选 择, 这 四 种 模 式 的 相 关 讲 解 具 体 如 下 : Time: 该 UIDatePicker 控 件 只 显 示 时 间, 不 显 示 日 期 Date: 该 UIDatePicker 控 件 只 显 示 日 期, 不 显 示 时 间 47

48 Date and Time: 该 UIDatePicker 控 件 同 时 选 择 日 期 和 时 间 Count Down Timer: 该 UIDatePicker 控 件 仅 显 示 倒 计 时 器 2. Date Date 属 性 用 于 设 置 日 期 选 择 器 的 当 前 时 间, 它 包 含 两 个 选 项, 单 击 Date 属 性 的 下 拉 列 表, 具 体 如 图 2-51 所 示 图 2-51 Date 属 性 的 选 项 从 图 2-51 可 以 看 出,Date 属 性 支 持 两 种 选 项, 这 两 种 选 项 所 表 示 的 含 义 具 体 如 下 : Current Date: 表 示 系 统 当 前 的 时 间 Custom: 表 示 自 定 义 的 时 间, 该 时 间 用 户 可 以 任 意 指 定 针 对 日 期 选 择 控 件 在 属 性 检 查 器 面 板 中 所 支 持 的 属 性,UIDatePicker 类 提 供 了 对 应 的 属 性, 接 下 来, 通 过 一 张 表 来 描 述 UIDatePicker 类 提 供 的 常 见 属 性, 具 体 如 表 2-12 所 示 表 2-12 UIDatePicker 提 供 的 常 见 属 性 属 性 声 明 功 能 描 (nonatomic) UIDatePickerMode datepickermode; 设 置 UIDatePicker 的 模 (nonatomic, retain) NSLocale *locale; 设 置 UIDatePicker 为 国 际 化 时 (nonatomic, retain) NSDate *date; 设 置 UIDatePicker (nonatomic) NSTimeInterval countdownduration; 当 UIDatePicker 模 式 为 Count Down Timer 时, 设 置 剩 余 时 间 表 2-12 中 列 举 了 UIDatePicker 类 的 常 见 属 性, 其 中,countDownDuration 属 性 是 专 门 针 对 CountDown Timer 模 式 的, 它 用 于 获 取 倒 计 时 的 剩 余 时 间 实 战 演 练 倒 计 时 在 UIDatePicker 的 属 性 检 查 器 面 板 中, 如 果 将 Mode 属 性 设 置 为 Count Down Timer, 就 可 以 将 UIDatePicker 控 件 当 做 倒 计 时 器 使 用 接 下 来, 通 过 一 个 案 例 来 演 示 如 何 使 用 UIDatePicker 控 件 实 现 倒 计 时 的 功 能, 具 体 步 骤 如 下 : 1. 界 面 设 计 48

49 (1) 新 建 一 个 Single View Application 应 用, 命 名 08_UIDatePicker, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIDatePicker 控 件 一 个 UIButton 控 件, 其 中,UIDatePicker 控 件 用 于 显 示 时 间, UIButton 控 件 用 于 开 始 计 时 为 了 界 面 美 观, 我 们 在 界 面 中 添 加 几 个 UIImageView 控 件, 作 为 倒 计 时 的 图 标 (2) 将 提 前 准 备 好 的 图 片 放 到 Supporting Files 文 件 中, 将 UIDatePicker 控 件 的 Mode 属 性 设 置 为 Count Down Timer,Date 属 性 设 置 Custom, 设 计 好 的 界 面 如 图 2-52 所 示 图 2-52 倒 计 时 界 面 2. 创 建 控 件 对 象 的 关 联 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 为 UIDatePicker 控 件 创 建 表 示 日 期 控 件 的 属 性, 命 名 为 datepicker, 为 UIButton 控 件 添 加 点 击 事 件, 命 名 为 click 另 外, 由 于 点 击 按 钮 后, 相 当 于 启 动 了 定 时 器 更 新 UIDatePicker 控 件, 这 时, 需 要 禁 用 UIButton 控 件 和 UIDatePicker 控 件, 并 更 改 按 钮 前 面 的 图 片, 因 此, 需 要 为 UIButton UIDatePicker 和 UIImageView 分 别 添 加 一 个 属 性 添 加 完 成 后 的 界 面 如 图 2-53 所 示 49

50 图 2-53 创 建 控 件 对 象 的 关 联 3. 通 过 代 码 实 现 用 户 登 录 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 倒 计 时 的 功 能 了, 进 入 ViewController.m 文 件, 在 click 方 法 中, 首 先 获 取 倒 计 时 的 剩 余 时 间, 然 后 启 动 定 时 器 定 时 更 新 UIDatePicker 的 时 间 ViewController.m 文 件 的 代 码 如 例 2-8 所 示 例 2-8 viewcontroller.m 1 #import "ViewController.h" ViewController () 3 - (IBAction)click:(id)sender; (weak, nonatomic) IBOutlet UIButton *btn_start; (weak, nonatomic) IBOutlet UIImageView *img; (weak, nonatomic) IBOutlet UIDatePicker *datepicker; ViewController 9 NSTimer *timer; 10 NSTimeInterval lefttime; 11 - (void)viewdidload { 12 [super viewdidload]; 13 } 14 - (IBAction)click:(id)sender { 15 // 获 取 倒 计 时 器 的 剩 余 时 间 16 lefttime=self.datepicker.countdownduration; 50

51 17 // 禁 用 UIDatePicker 和 UIButton 控 件 18 self.datepicker.enabled=no; 19 [sender setenabled:no]; 20 // 替 换 图 片 21 UIImage *image=[uiimage 22 self.img.image=image; 23 // 初 始 化 一 个 字 符 串, 用 于 提 示 用 户 开 始 倒 计 时 24 NSString *message=[nsstring 您 还 剩 下 %f 秒 ", lefttime]; 25 // 创 建 一 个 警 告 框, 提 示 开 始 倒 计 时 26 UIAlertView *alert=[[uialertview 开 始 倒 计 时 " 27 message:message delegate:nil 确 定 " 28 otherbuttontitles:nil, nil]; 29 // 显 示 UIAlertView 控 件 30 [alert show]; 31 // 启 用 计 时 器, 控 制 每 隔 60 秒 执 行 一 次 tickdown 方 法 32 timer=[nstimer scheduledtimerwithtimeinterval:60 target:self 33 repeats:yes]; 34 } 35 -(void) tickdown{ 36 lefttime-=60; 37 self.datepicker.countdownduration=lefttime; 38 if (lefttime<=0) { 39 // 取 消 定 时 器 40 [timer invalidate]; 41 // 启 用 UIDatePicker 和 UIButton 控 件, 42 self.datepicker.enabled=yes; 43 self.btn_start.enabled=yes; 44 // 替 换 图 片 45 UIImage *image=[uiimage imagenamed:@"img_02"]; 46 self.img.image=image; 47 } 48 } 在 例 2-8 中,click 方 法 是 实 现 倒 计 时 功 能 的 具 体 实 现, 在 该 方 法 中, 第 32~34 行 代 码 启 动 了 一 个 定 时 器, 用 于 控 制 每 隔 60 秒 执 行 一 次 tickdown 方 法, 而 tickdown 方 法 每 执 行 一 次, 程 序 就 会 将 剩 余 时 间 减 少 60 秒, 直 到 剩 余 时 间 小 于 等 于 0 为 止 4. 在 模 拟 器 上 运 行 程 序 51

52 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 点 击 开 始 计 时 的 按 钮, 会 弹 出 一 个 提 示 框, 提 示 剩 余 时 间, 点 击 确 定 按 钮 后, 就 可 以 看 到 该 倒 计 时 器 每 隔 60 秒 跳 动 一 次, 剩 余 时 间 减 少 1 分 钟 以 开 始 时 间 为 1 小 时 4 分 钟 为 例, 倒 计 时 的 效 果 如 图 2-54 所 示 图 2-54 倒 计 时 效 果 选 择 控 件 (UIPickerView) 除 了 日 期 选 择 控 件 外, 还 有 一 种 选 择 控 件 是 UIPickerView, 它 直 接 继 承 于 UIView, 是 一 个 既 能 生 成 单 列 选 择 器, 也 能 生 成 多 列 选 择 器, 又 能 自 定 义 外 观 的 静 态 控 件 为 了 让 大 家 更 好 地 认 识 什 么 是 选 择 控 件, 接 下 来 通 过 一 张 图 片 展 示 UIPickerView 的 使 用 场 景, 如 图 2-55 所 示 图 2-55 UIPickerView 的 使 用 场 景 图 2-55 所 示 的 是 一 个 水 果 机 应 用 的 界 面, 该 应 用 界 面 中 的 水 果 选 择 控 件 是 使 用 UIPickerView 实 现 的 52

53 同 样, 将 UIPickerView 从 对 象 库 中 拖 拽 到 Main.storyboard 编 辑 界 面 并 选 中, Xcode 右 侧 出 现 了 UIPickerView 的 属 性 检 查 器 面 板, 该 面 板 用 于 设 置 UIPickerView 的 相 关 属 性, 具 体 如 图 2-56 所 示 图 2-56 UIPickerView 的 属 性 检 查 器 面 板 图 2-56 展 示 了 UIPickerView 的 Behavior 属 性, 该 属 性 用 于 显 示 选 中 行 的 标 记, 一 般 以 高 亮 背 景 作 为 选 中 标 记 同 时,UIPickerView 类 也 提 供 了 相 应 的 属 性, 接 下 来 通 过 一 张 表 来 列 举 UIPickerView 的 常 见 属 性, 如 表 2-13 所 示 表 2-13 UIPickerView 的 常 见 属 性 方 法 声 明 功 能 描 id<uipickerviewdatasource> 设 置 数 据 源 id<uipickerviewdelegate> 设 置 代 理 delegate; 设 置 是 否 显 示 BOOL showsselectionindicator; 的 选 中 标 记 获 取 UIPickerView 指 定 列 NSInteger 包 含 的 列 表 项 的 数 量, 该 属 性 numberofcomponents; 权 限 为 只 读 表 2-13 列 举 了 UIPickerView 的 一 些 常 见 属 性, 其 中 datasource 和 delegate 这 两 个 属 性 非 常 重 要, 接 下 来, 针 对 它 们 进 行 详 细 地 讲 解 1. datasource datasource 代 表 数 据 源, 该 属 性 用 于 指 定 UIPickerView 的 数 据 源, 提 供 丰 富 的 内 容, 但 是 前 提 要 遵 守 UIPickerViewDataSource 协 议, 该 协 议 的 定 义 方 式 如 下 所 示 UIPickerViewDataSource<NSObject> // 数 据 源 协 53

54 // 返 回 选 择 器 总 共 有 多 少 列 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerview; // 返 回 选 择 器 每 列 总 共 有 多 少 行 - (NSInteger)pickerView:(UIPickerView *)pickerview 从 上 述 可 以 看 出,UIPickerViewDataSource 协 议 定 义 了 两 个 方 法, 这 些 方 法 是 使 关 键 字 修 饰 的 必 须 要 实 现 的 方 法, 通 过 委 托 代 理 的 方 式 限 制 数 据 信 息 的 展 示 的 样 式, 比 如 行 数 和 列 数, 因 此 我 们 又 称 之 为 数 据 源 协 议 2. delegate delegate 表 示 代 理, 该 属 性 用 于 设 定 UIPickerView 的 代 理, 实 现 代 理 对 UIPickerView 的 监 听, 但 是 前 提 要 遵 守 UIPickerViewDelegate 协 议, 该 协 议 的 定 义 方 式 如 下 所 示 UIPickerViewDelegate<NSObject> // 代 理 协 // 返 回 第 component 列 每 一 行 的 宽 度 - (CGFloat)pickerView:(UIPickerView *)pickerview widthforcomponent:(nsinteger)component; // 返 回 第 component 列 每 一 行 的 高 度 - (CGFloat)pickerView:(UIPickerView *)pickerview rowheightforcomponent:(nsinteger)component; // 设 置 选 择 器 每 行 显 示 的 文 本 内 容 - (NSString *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component; // 设 置 选 择 器 每 行 显 示 的 视 图 内 容 - (UIView *)pickerview:(uipickerview *)pickerview viewforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view; // 点 击 选 择 器 某 列 某 行 时, 就 会 调 用 这 个 方 法 - (void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row 从 上 述 可 以 看 出,UIPickerViewDelegate 协 议 定 义 了 一 些 方 法, 这 些 方 法 都 可 以 展 示 选 择 器 每 行 每 列 的 信 息, 且 方 法 是 可 选 择 实 现 的 例 如 pickerview: titleforrow: forcomponent 方 法 根 据 相 应 的 数 据, 展 示 选 择 器 每 行 对 应 的 文 本 内 容 除 了 协 议 方 法 之 外,UIPickerView 类 也 定 义 了 一 些 常 见 的 方 法, 接 下 来 通 过 一 张 表 列 举 UIPickerView 的 常 见 方 法, 如 表 2-14 所 示 表 2-14 UIPickerView 的 常 见 方 法 方 法 声 明 功 能 描 述 54

55 - (NSInteger)numberOfRowsInComponent: (NSInteger)component; - (CGSize)rowSizeForComponent: (NSInteger)component; - (UIView *)viewforrow:(nsinteger)row forcomponent:(nsinteger)component; 返 回 第 component 列 有 多 少 行 返 回 第 component 列 中 一 行 的 尺 寸 设 置 选 择 器 某 列 某 行 的 视 图 内 容 - (void)reloadallcomponents; 刷 新 所 有 列 的 数 据 - (void)reloadcomponent:(nsinteger) 刷 新 某 一 列 的 数 据 component; - (void)selectrow:(nsinteger)row incomponent:(nsinteger)component 设 置 是 否 动 画 选 中 某 列 某 行 animated:(bool)animated; - (NSInteger)selectedRowInComponent: 返 回 选 中 的 是 第 component 列 的 第 几 行 (NSInteger)component; 表 2-14 列 举 了 UIPickerView 类 一 些 常 见 的 方 法, 这 些 方 法 配 合 使 用, 可 以 协 调 展 示 不 同 样 式 的 选 择 器 实 战 演 练 点 菜 系 统 随 着 社 会 的 发 展, 人 们 对 生 活 质 量 的 要 求 不 断 提 高, 也 越 来 越 注 重 于 饮 食 去 酒 店 吃 饭 成 了 人 们 生 活 中 的 一 部 分 为 了 提 高 酒 店 的 服 务 质 量, 开 发 一 套 完 善 的 酒 店 点 菜 系 统 是 必 要 的 接 下 来, 带 领 大 家 使 用 UIPickerView 开 发 一 个 点 餐 系 统, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 09_UIPickerView, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIPickerView 一 个 UIView 三 个 UIButton 和 九 个 UILabel, 其 中 UIPickerView 用 于 滚 动 选 中 菜 系 内 容,UILabel 用 于 显 示 选 择 器 选 中 的 菜 系,UIButton 用 于 钮 UIPickerView 随 机 选 中 菜 系 (2) 设 置 UIView 的 背 景 颜 色, 并 用 于 保 存 菜 系 数 据 的 foods.plist 文 件 放 到 Supporting Files 文 件 中, 设 计 好 的 界 面 如 图 2-57 所 示 55

56 图 2-57 点 菜 系 统 界 面 2. 创 建 控 件 对 象 的 关 联 (1) 点 击 Main.storyboard 左 下 角 的 图 标, 打 开 Objects 列 表 区, 选 中 UIPickerView 右 击, 弹 出 一 个 黑 框 列 表, 从 该 列 表 datasource 选 项 后 的 空 圆 圈 拖 线 到 Objects 列 表 区 中 的 控 制 器 文 件, 设 置 UIPickerView 的 datasource 为 控 制 器, 具 体 如 图 2-58 所 示 图 2-58 设 置 UIPickerView 的 datasource 为 控 制 器 (2) 同 样 的 方 式, 设 置 UIPickerView 的 delegate 为 控 制 器, 具 体 如 图 2-59 所 示 56

57 图 2-59 设 置 UIPickerView 的 delegate 为 控 制 器 (3) 使 用 控 件 和 代 码 关 联 的 方 式, 为 UIButton 添 加 点 击 事 件, 添 加 UILabel 和 UIPickerView 属 性, 添 加 完 成 后 的 界 面 如 图 2-60 所 示 图 2-60 完 成 控 件 对 象 关 联 的 界 面 3. 通 过 代 码 实 现 点 菜 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 点 菜 的 功 能 了 进 入 ViewController.m 文 件, 遵 守 数 据 源 和 代 理 协 议, 将 数 据 信 息 展 示 到 UIPickerView 控 件 中, 并 将 选 中 的 行 内 容 显 示 到 对 应 UILabel 上, 具 体 代 码 如 例 2-9 所 示 57

58 1 #import "ViewController.h" 例 2-9 ViewController.m 2 // 遵 守 数 据 源 和 代 理 协 议 ViewController ()<UIPickerViewDataSource, UIPickerViewDelegate> (nonatomic, strong)nsarray *foods; // 保 存 plist 文 件 中 所 有 的 food 5 // (weak, nonatomic) IBOutlet UILabel *fruitlabel; (weak, nonatomic) IBOutlet UILabel *mainlabel; (weak, nonatomic) IBOutlet UILabel *drinklabel; (weak, nonatomic) IBOutlet UIPickerView *pickerview; 10 - (IBAction)random; // 生 成 随 机 套 餐 方 法 11 - (IBAction)certain; // 确 定 方 法 12 - (IBAction)cancel; // 取 消 方 法 ViewController 15 // 懒 加 载 数 组 16 - (NSArray *)foods 17 { 18 if (_foods == nil) { 19 _foods = [NSArray arraywithcontentsoffile:[[nsbundle mainbundle] 20 pathforresource:@"foods" oftype:@"plist"]]; 21 } 22 return _foods; 23 } 24 - (void)viewdidload { 25 [super viewdidload]; 26 for (int i = 0; i < 3; i++) { // 选 中 每 一 列 的 第 一 行 27 [self pickerview:nil didselectrow:0 incomponent:i]; 28 } 29 } 30 #pragma mark - UIPickerViewDataSource 31 // 总 共 有 多 少 列 32 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerview 33 { 34 return self.foods.count; 35 } 36 // 每 列 总 共 有 多 少 行 37 - (NSInteger)pickerView:(UIPickerView *)pickerview 58

59 38 numberofrowsincomponent:(nsinteger)component 39 { 40 NSArray *subfood = self.foods[component]; 41 return subfood.count; 42 } 43 #pragma mark - UIPickerViewDelegate 44 // 第 component 列 的 第 row 行 显 示 文 字 内 容 45 - (NSString *)pickerview:(uipickerview *)pickerview 46 titleforrow:(nsinteger)row forcomponent:(nsinteger)component 47 { 48 return self.foods[component][row]; 49 } 50 // 选 中 了 第 component 列 的 第 row 行 51 - (void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row 52 incomponent:(nsinteger)component 53 { 54 // 将 选 中 行 的 文 本 显 示 到 对 应 的 Label 55 if (component == 0) { // 水 果 Label 56 self.fruitlabel.text = self.foods[component][row]; 57 }else if (component == 1){ // 主 菜 Label 58 self.mainlabel.text = self.foods[component][row]; 59 }else if(component == 2){ // 饮 料 Label 60 self.drinklabel.text = self.foods[component][row]; 61 } 62 } 63 // 设 置 行 高 64 - (CGFloat)pickerView:(UIPickerView *)pickerview 65 rowheightforcomponent:(nsinteger)component 66 { 67 return 35; 68 } 69 // 随 机 选 中 一 份 套 餐 70 - (IBAction)random { 71 for (int component = 0; component < self.foods.count; component++) { 72 // 1. 第 component 列 数 组 的 总 长 度 73 int count = [self.foods[component] count]; 74 // 2. 旧 的 行 号 75 int oldrow = [self.pickerview selectedrowincomponent:component]; 59

60 76 // 3. 第 几 行 ( 默 认 新 的 行 号 跟 旧 的 行 号 一 样 ) 77 int row = oldrow; 78 // 4. 保 证 行 数 跟 上 一 次 不 一 样 79 while (row == oldrow) { 80 row = arc4random()%count; 81 } 82 // 5. 让 pickerview 主 动 选 中 第 compoent 列 的 第 row 行 83 [self.pickerview selectrow:row incomponent:component animated:yes]; 84 // 6. 设 置 label 的 文 字 85 [self pickerview:nil didselectrow:row incomponent:component]; 86 } 87 } 88 // 点 击 确 定 89 - (IBAction)certain { 90 // 提 示 用 户 点 餐 成 功 91 UIAlertView *alert = [[UIAlertView alloc] initwithtitle:@" 点 餐 成 功 " 92 message:@" 请 稍 后 " delegate:nil cancelbuttontitle:@" 好 的 " 93 otherbuttontitles:nil, nil]; 94 [alert show]; 95 } 96 // 点 击 取 消 97 - (IBAction)cancel { 98 // 直 接 回 到 初 始 化 时 候 99 for (int i = 0; i < 3; i++) { 100 [self pickerview:nil didselectrow:0 incomponent:i]; 101 [self.pickerview selectrow:0 incomponent:i animated:yes]; 102 } 103 } 在 例 2-9 中, 第 3 行 代 码 遵 守 了 数 据 源 和 代 理 协 议, 第 4 行 代 码 定 义 了 一 个 数 组, 用 于 保 存 plist 文 件 中 所 有 的 foods 数 据, 第 5~22 行 代 码 使 用 懒 加 载 的 方 法 初 始 化 数 组,29~37 行 代 码 分 别 为 数 据 源 和 代 理 协 议 中 定 义 的 一 些 方 法, 用 于 展 示 数 组 中 的 数 据, 第 68~102 行 代 码 分 别 为 点 击 随 机 确 定 和 取 消 按 钮 后 执 行 的 行 为 4. 在 模 拟 器 上 运 行 程 序 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后,UIPickerView 选 中 的 数 据 成 功 的 展 示 到 Label 中, 点 击 随 机 确 定 和 取 消 按 钮, 也 都 一 一 对 应 完 成 了 相 应 的 功 能 程 序 运 行 结 果 的 部 分 结 果 如 图 2-61 所 示 60

61 图 2-61 程 序 运 行 部 分 场 景 图 多 学 一 招 : 懒 加 载 我 们 知 道 ios 设 备 的 内 存 有 限 如 果 在 程 序 在 启 动 后 就 一 次 性 加 载 应 用 程 序 将 来 会 用 到 的 所 有 资 源 ( 例 如 大 量 数 据 图 片 音 频 等 ), 那 么 就 有 可 能 会 耗 尽 ios 设 备 的 内 存, 就 会 造 成 应 用 程 序 运 行 缓 慢, 或 者 出 现 卡 顿, 甚 至 于 应 用 程 序 会 发 生 崩 溃 同 很 多 语 言 一 样,iOS 中 用 懒 加 载 的 方 式 来 加 载 这 些 资 源, 对 这 些 资 源 进 行 合 理 化 的 管 理 懒 加 载 又 称 之 为 延 迟 加 载, 说 的 通 俗 一 点, 就 是 在 开 发 中, 程 序 启 动 的 时 候 不 立 刻 使 用 的 资 源 先 不 加 载, 当 程 序 运 行 的 时 候 中 需 要 使 用 资 源 的 时 候 再 去 加 载 它 懒 加 载 用 于 get 方 法 主 要 有 以 下 好 处 : 效 率 低, 占 用 内 存 小 不 必 将 创 建 对 象 的 代 码 全 部 写 在 viewdidload 方 法 中, 代 码 的 可 读 性 更 强 每 个 控 件 的 get 方 法 中 负 责 自 身 的 实 例 化, 代 码 彼 此 之 间 的 独 立 性 强, 耦 合 度 低 2.9 屏 幕 滚 动 控 件 (UIScrollView) 屏 幕 滚 动 控 件 概 述 移 动 设 备 的 屏 幕 大 小 是 极 其 有 限 的, 因 此 直 接 展 示 在 用 户 眼 前 的 内 容 也 是 有 限 的 当 屏 幕 展 示 的 内 容 较 多 超 出 一 个 屏 幕 时, 用 户 可 以 通 过 滚 动 的 方 式 来 查 看 屏 幕 外 的 内 容 在 ios 中, UIScrollView 是 一 个 支 持 滚 动 的 控 件, 它 直 接 继 承 自 UIView, 可 以 用 来 展 示 大 量 的 内 容, 并 且 可 以 通 过 滚 动 的 方 式 查 看 所 有 的 内 容 为 了 让 大 家 更 好 地 理 解, 接 下 来 通 过 一 张 图 片 来 展 示 UIScrollView 的 使 用 场 景, 如 图 2-62 所 示 61

62 图 2-62 UIScrollView 的 使 用 场 景 图 2-62 是 一 个 新 闻 页 面, 该 页 面 有 很 多 内 容 需 要 展 示, 因 此, 该 页 面 中 包 含 了 一 个 UIScrollView 控 件, 用 户 可 以 通 过 滚 动 的 方 式 来 在 有 限 的 屏 幕 中 查 看 更 多 内 容 UIScrollView 控 件 同 其 他 控 件 一 样, 都 包 含 很 多 属 性, 同 样, 从 对 象 库 中 找 到 Scroll View, 将 其 拖 拽 到 Main.storyboard 编 辑 界 面 中, 在 Xcode 右 侧 会 出 现 UIScrollView 的 属 性 检 测 器 面 板, 该 面 板 可 以 设 置 UIScrollView 的 相 关 属 性, 具 体 如 图 2-63 所 示 图 2-63 UIScrollView 的 属 性 检 测 器 面 板 针 对 UIScrollView 属 性 检 查 器 面 板 设 置 的 属 性,UIScrollView 类 也 定 义 了 与 之 对 应 的 属 性, 接 下 来 通 过 一 张 表 来 列 举 UIScrollView 的 常 见 属 性, 如 表 2-15 所 示 62

63 属 性 声 明 表 2-15 UIScrollView 的 常 见 属 性 功 能 描 CGPoint contentoffset; 设 置 滚 动 视 图 的 滚 动 偏 移 CGSize contentsize; 设 置 滚 动 视 图 的 滚 动 范 UIEdgeInsets id<uiscrollviewdelegate> BOOL BOOL BOOL BOOL CGFloat CGFloat maximumzoomscale; 设 置 滚 动 视 图 的 额 外 滚 动 区 域 设 置 代 理 设 置 滚 动 视 图 是 否 允 许 滚 动 设 置 滚 动 视 图 是 否 开 启 分 页 设 置 滚 动 视 图 是 否 显 示 水 平 滚 动 条 设 置 滚 动 视 图 是 否 显 示 垂 直 滚 动 条 设 置 滚 动 视 图 的 最 小 缩 放 比 例 设 置 滚 动 视 图 的 最 大 缩 放 比 BOOL scrollstotop; 设 置 滚 动 视 图 是 否 滚 动 到 顶 部 表 2-15 列 举 了 UIScrollView 的 常 见 属 性, 其 中 contentoffset contentsize contentinset 是 UIScrollView 支 持 的 三 个 控 件 显 示 区 域 属 性, delegate 为 代 理 属 性, 这 些 属 性 都 比 较 重 要, 接 下 来 针 对 这 几 个 属 性 进 行 详 细 介 绍 1. contentsize 该 属 性 是 一 个 CGSize 类 型 的 值,CGSize 是 一 个 结 构 体 类 型, 它 包 含 width height 两 个 成 员 变 量, 代 表 着 该 UIScrollView 所 需 要 显 示 内 容 的 完 整 高 度 和 完 整 宽 度 例 如, 内 容 视 图 为 灰 色 部 分, 它 的 大 小 为 , 而 ScrollView 视 图 的 大 小 只 有 , 由 于 内 容 视 图 超 出 了 ScrollView 可 显 示 的 大 小, 因 此, 需 要 滚 动 屏 幕 来 查 看 内 容, 具 体 如 图 2-64 所 示 63

64 contentsize.width Text Field frame.width frame.height 内 容 视 图 contentsize.height Button 图 2-64 contentsize 属 性 2. contentinset 该 属 性 是 一 个 UIEdgeInsets 类 型 的 值,UIEdgeInsets 也 是 一 个 结 构 体 类 型, 它 包 含 top left bottom right 四 个 成 员 变 量, 分 别 代 表 着 该 UIScrollView 所 需 要 显 示 内 容 在 上 左 下 右 的 留 白 例 如, 内 容 视 图 为 灰 色 部 分, 它 的 大 小 为 , 而 ScrollView 的 大 小 只 有 , 由 于 内 容 视 图 超 出 了 ScrollView 可 显 示 的 大 小, 并 且 上 方 要 留 一 部 分 空 白 显 示 其 他 控 件, 因 此, 需 要 滚 动 屏 幕 来 查 看 内 容, 具 体 如 图 2-65 所 示 Text Field contentinset.top 内 容 视 图 Button 图 2-65 contentinset 属 性 64

65 3. contentoffset 该 属 性 是 一 个 CGPoint 类 型 的 值,CGPoint 也 是 一 个 结 构 体 类 型, 它 包 含 x y 两 个 成 员 变 量, 代 表 内 容 视 图 的 坐 标 原 点 与 该 UIScrollView 坐 标 原 点 的 偏 移 量, 具 体 如 图 2-66 所 示 contentoffset.y Text Field Text Field 内 容 视 图 Button 图 2-66 contentoffset 属 性 4. delegate 该 属 性 是 一 个 id 类 型 的 值, 它 可 以 指 定 代 理 对 象 在 ScrollView 中 定 义 了 一 个 UIScrollViewDelegate 协 议, 该 协 议 定 义 了 许 多 可 以 监 听 UIScrollView 滚 动 过 程 的 方 法, 例 如, 要 想 监 听 ScrollView 的 缩 放 和 拖 拽, 可 以 通 过 遵 守 UIScrollViewDelegate 协 议, 指 定 ScrollView 的 代 理 对 象 来 实 现 UIScrollViewDelegate 协 议 的 定 义 方 式 如 下 所 示 // 滚 动 UIScrollView 时 就 会 调 用 该 方 法 - (void)scrollviewdidscroll:(uiscrollview *)scrollview; // 缩 放 UIScrollView 时 就 会 调 用 该 方 法 - (void)scrollviewdidzoom:(uiscrollview *)scrollview; // 即 将 拖 拽 UIScrollView 时 就 会 调 用 该 方 法 - (void)scrollviewwillbegindragging:(uiscrollview *)scrollview; // 即 将 停 止 拖 拽 UIScrollView 时 就 会 调 用 该 方 法 - (void)scrollviewwillenddragging:(uiscrollview *)scrollview withvelocity:(cgpoint)velocity targetcontentoffset:(inout CGPoint *) targetcontentoffset; // 停 止 拖 拽 UIScrollView 时 就 会 调 用 该 方 法 65

66 - (void)scrollviewdidenddragging:(uiscrollview *)scrollview willdecelerate:(bool)decelerate; // UIScrollView 即 将 减 速 时 就 会 调 用 该 方 法 - (void)scrollviewwillbegindecelerating:(uiscrollview *)scrollview; // UIScrollView 减 速 完 成 时 就 会 调 用 该 方 法 - (void)scrollviewdidenddecelerating:(uiscrollview *)scrollview; // 返 回 缩 放 的 视 图, 这 个 视 图 必 须 是 UIScrollView 的 子 视 图 - (UIView *)viewforzoominginscrollview:(uiscrollview *)scrollview; // UIScrollView 即 将 缩 放 时 就 会 调 用 该 方 法 - (void)scrollviewwillbeginzooming:(uiscrollview *)scrollview withview:(uiview *)view; // UIScrollView 完 成 缩 放 时 就 会 调 用 该 方 法 - (void)scrollviewdidendzooming:(uiscrollview *)scrollview withview: (UIView *)view 从 上 述 代 码 中 可 以 看 出,UIScrollViewDelegate 协 议 中 定 义 了 许 多 供 代 理 监 听 的 方 法, 这 些 方 法 会 在 滚 动 视 图 的 不 同 状 态 下 被 调 用 例 如,scrollViewDidScroll 方 法 是 改 变 滚 动 视 图 偏 移 量 时 调 用 的 方 法, 该 方 法 会 在 视 图 滚 动 后 执 行 实 战 演 练 喜 马 拉 雅 UIScrollView 在 ios 开 发 中 经 常 使 用, 它 主 要 用 于 在 有 限 的 屏 幕 上 展 示 更 多 的 内 容 为 了 大 家 更 好 地 掌 握 UIScrollView 的 使 用, 接 下 来 带 领 大 家 搭 建 一 个 喜 马 拉 雅 的 应 用 界 面, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 10_UIScrollView, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIScrollView 两 个 UIView 一 个 UILabel 和 十 二 个 UIButton, 其 中 UIButton 只 作 显 示, 不 支 持 点 击 事 件,UIScrollView 用 于 滚 动 它 内 部 包 含 的 内 容 视 图 (2) 将 提 前 准 备 好 的 图 片 放 到 Images.xcassets 文 件 中, 并 为 UIButton 设 置 普 通 和 高 亮 状 态 下 的 背 景 图 片, 设 计 好 的 界 面 如 图 2-67 所 示 66

67 图 2-67 搭 建 好 的 喜 马 拉 雅 界 面 在 图 2-67 中,UIScrollView 上 添 加 了 七 个 UIButton, 它 们 分 别 设 置 了 普 通 状 态 下 的 背 景 图 片, 由 于 屏 幕 尺 寸 的 限 制, 无 法 展 示 在 UIScrollView 最 底 部 的 一 个 UIButton 需 要 注 意 的 是, 只 有 添 加 到 UIScrollView 内 部 的 控 件 才 能 实 现 滚 动, 如 同 绑 定 的 关 系, 例 如 PPT 中 的 组 合 功 能 2. 创 建 控 件 对 象 的 关 联 (1) 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 使 用 控 件 和 代 码 关 联 的 方 式, 为 UIScrollView 和 其 内 部 最 底 部 的 UIButton 添 加 两 个 属 性, 分 别 命 名 为 scrollview 和 lastview, 添 加 完 成 后 的 界 面 如 图 2-68 所 示 图 2-68 创 建 视 图 对 象 的 关 联 从 图 2-68 中 可 以 看 出, 完 成 控 件 对 象 的 关 联 后, 成 功 添 加 了 两 个 属 性 3. 通 过 代 码 实 现 滚 动 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 实 现 滚 动 的 功 能 了 进 入 ViewController.m 文 件, 在 viewdidload 方 法 中 实 现 滚 动 的 功 能, 具 体 代 码 如 例 2-10 所 示 67

68 1 #import "ViewController.h" 例 2-10 viewdidload ViewController () 3 // 定 义 了 两 个 属 性 scrollview 和 lastview, 分 别 表 示 滚 动 视 图 和 其 内 部 最 底 部 的 视 图 (weak, nonatomic) IBOutlet UIScrollView *scrollview; (weak, nonatomic) IBOutlet UIButton *lastview; ViewController 8 - (void)viewdidload { 1 [super viewdidload]; 9 // 1. 获 取 lastview 的 最 大 Y 值 10 CGFloat lastviewh = CGRectGetMaxY(self.lastView.frame) + 10; 11 // 2. 设 置 scrollview 的 滚 动 范 围 12 self.scrollview.contentsize = CGSizeMake(0, lastviewh); 13 // 3. 设 置 scrollview 的 偏 移 量 14 self.scrollview.contentoffset = CGPointMake(0, -54); 15 // 4. 设 置 scrollview 的 间 距 2 self.scrollview.contentinset = UIEdgeInsetsMake(54, 0, 44, 0); 3 } 在 例 2-10 中, 第 8~18 行 代 码 是 viewdidload 方 法, 该 方 法 中 首 先 根 据 最 底 部 视 图 的 Y 值 确 定 scrollview 的 滚 动 范 围, 然 后 设 置 scrollview 的 偏 移 量 和 间 距, 协 调 滚 动 视 图 跟 其 它 视 图 的 位 置, 使 界 面 更 加 美 观 4. 在 模 拟 器 上 运 行 程 序 点 击 Xcode 工 具 的 运 行 按 钮, 在 模 拟 器 上 运 行 程 序 程 序 运 行 成 功 后, 发 现 视 图 可 以 滚 动 了, 并 且 最 底 部 的 视 图 也 能 显 现 出 来, 滚 动 界 面 的 部 分 场 景 图 片 如 图 2-69 所 示 图 2-69 滚 动 界 面 68

69 2.10 页 控 件 (UIPageControl) 页 控 件 概 述 顾 名 思 义, 页 控 件 是 一 个 可 以 实 现 翻 页 效 果 的 控 件, 它 是 一 个 比 较 简 单 的 控 件, 由 N 个 小 圆 点 组 成, 每 个 小 圆 点 代 表 一 个 页 面, 并 且 当 前 页 面 使 用 高 亮 的 圆 点 显 示 在 ios 中, 页 控 件 使 用 UIPageControl 类 来 表 示, 它 直 接 继 承 于 UIControl:UIView, 是 一 个 可 以 与 用 户 交 互 的 活 动 控 件 接 下 来 通 过 一 张 图 片 来 展 示 UIPageControl 的 使 用 场 景, 如 图 2-70 所 示 图 2-70 UIPageControl 的 使 用 场 景 图 2-70 中 标 示 了 5 个 小 圆 点, 并 且 第 2 个 小 圆 点 是 高 亮 状 态, 说 明 页 控 件 包 含 5 个 页 面, 并 且 当 前 页 面 是 第 2 个 页 面 页 控 件 UIPageControl 同 样 可 以 从 对 象 库 中 找 到 将 UIPageControl 控 件 从 对 象 库 中 拖 拽 到 Main.storyboard 编 辑 界 面 中, 在 Xcode 右 侧 查 看 UIPageControl 的 属 性 检 测 器 面 板, 具 体 如 图 2-71 所 示 69

70 图 2-71 UIPageControl 的 属 性 检 测 器 面 板 图 2-71 显 示 的 是 UIPageControl 所 支 持 的 一 些 属 性, 通 过 对 这 些 属 性 的 设 置, 可 以 使 页 控 件 发 生 相 应 的 变 化 针 对 UIPageControl 属 性 检 查 器 面 板 设 置 的 属 性,UIPageControl 类 也 定 义 了 与 之 对 应 的 属 性, 接 下 来 通 过 一 张 表 来 列 举 UIPageControl 的 常 见 属 性, 如 表 2-17 所 示 表 2-17 UIPageControl 的 常 见 属 性 属 性 声 明 功 能 描 NSInteger numberofpages; 设 置 总 共 有 多 少 NSInteger currentpage; 设 置 当 前 是 第 几 UIColor 设 置 页 码 指 示 器 的 颜 色 UIColor 设 置 当 前 页 码 指 示 器 的 颜 色 *currentpageindicatortintcolor; 表 2-17 列 举 了 UIPageControl 所 支 持 的 一 些 属 性, 它 们 均 可 以 设 置 页 控 件 的 外 观 实 战 演 练 自 动 轮 播 器 实 际 项 目 中, 经 常 会 把 UIScrollView 和 UIPageControl 结 合 使 用, 接 下 来, 带 领 大 家 使 用 这 两 个 控 件 完 成 一 个 自 动 轮 播 器, 具 体 步 骤 如 下 : 1. 界 面 设 计 (1) 新 建 一 个 Single View Application 应 用, 名 称 为 10_UIScrollView 和 UIPageControl, 然 后 在 Main.storyboard 界 面 中 添 加 一 个 UIScrollView 一 个 UIPageControl 一 个 UIView 和 一 个 UILabel, 其 中,UIScrollView 用 于 显 示 轮 播 图 片,UIPageControl 用 于 显 示 页 码 (2) 将 提 前 准 备 好 的 图 片 放 到 Images.xcassets 文 件 中, 并 为 UIPageControl 的 圆 点 和 高 亮 圆 点 分 别 设 置 白 色 和 蓝 色, 设 计 好 的 界 面 如 图 2-72 所 示 2. 创 建 控 件 对 象 的 关 联 图 2-72 搭 建 好 的 界 面 70

71 (1) 点 击 Main.storyboard 左 下 角 的 图 标, 打 开 Objects 列 表 区, 选 中 UIScrollView 右 击, 弹 出 一 个 黑 框 列 表, 从 该 列 表 delegate 选 项 后 的 空 圆 圈 拖 线 到 Objects 列 表 区 中 的 控 制 器 文 件, 设 置 UIScrollView 的 delegate 为 控 制 器, 具 体 如 图 2-73 所 示 图 2-73 设 置 UIScrollView 的 delegate 为 控 制 器 (2) 点 击 Xcode 6.1 界 面 右 上 角 的 图 标, 进 入 控 件 与 代 码 的 关 联 界 面, 使 用 使 用 控 件 和 代 码 关 联 的 方 式, 为 UIScrollView 和 UIPageControl 添 加 两 个 属 性, 分 别 命 名 为 scrollview 和 pagecontrol, 用 于 表 示 轮 播 器 和 页 码 指 示 器, 添 加 完 成 后 的 界 面 如 图 2-74 所 示 图 2-74 创 建 UIScrollView 和 UIPageControl 控 件 对 象 的 关 联 3. 通 过 代 码 实 现 自 动 轮 播 的 功 能 完 成 控 件 对 象 的 关 联 后, 就 可 以 通 过 代 码 加 载 图 片, 并 实 现 自 动 轮 播 的 功 能 了 进 入 ViewController.m 文 件, 在 viewdidload 方 法 中 完 成 相 对 的 功 能, 具 体 代 码 如 例 2-11 所 示 71

UISearchBar 介 绍 属 性 作 用 UIBarStyle barstyle 控 件 的 样 式 id delegate 设 置 控 件 的 委 托 NSString *text 控 件 上 面 的 显 示 的 文 字 NSString *prompt 显 示 在 顶 部 的 单 行 文

UISearchBar 介 绍 属 性 作 用 UIBarStyle barstyle 控 件 的 样 式 id delegate 设 置 控 件 的 委 托 NSString *text 控 件 上 面 的 显 示 的 文 字 NSString *prompt 显 示 在 顶 部 的 单 行 文 第 十 章 添 加 搜 索 学 习 目 标 通 过 学 习 本 章 学 习, 我 们 应 该 具 备 以 下 知 识 和 技 能 : 认 识 UISearchBar 使 用 UISearchBar 任 务 : 给 软 件 加 入 搜 索 功 能 这 次 我 们 来 学 习 一 下 如 何 添 加 搜 索, 在 iphone 中 通 讯 录 中, 搜 索 功 能 能 让 你 快 捷 地 找 到 对 应

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

UITextField属性.pages

UITextField属性.pages UITextField 属 性 技 术 博 客 http://www.cnblogs.com/chenyilong/ 新 浪 微 博 http://weibo.com/luohanchenyilong 1. enablesreturnkeyautomatically 默 认 为 No, 如 果 设 置 为 Yes, 文 本 框 中 没 有 输 入 任 何 字 符 的 话, 右 下 角 的 返 回 按

More information

Microsoft Word - Chap17.doc

Microsoft Word - Chap17.doc iphone ipad 和 ipod Touch 最 酷 的 一 項 功 能 是 它 們 的 內 建 方 向 感 應 器, 這 個 微 小 的 裝 置 可 以 讓 ios 知 道 裝 置 被 持 握 的 方 式 以 及 是 否 在 移 動 ios 可 使 用 方 向 感 應 器 來 處 理 自 動 旋 轉, 而 許 多 遊 戲 也 都 使 用 它 做 為 控 制 機 制 此 外 它 也 可 以 用

More information

主 讲 介 绍 : 张 曙 光 武 汉 大 学 计 算 机 学 院 电 话 : 13808694857 Email: 13808694857 @139.com dayi.whu.edu.cn 5 July 2013

主 讲 介 绍 : 张 曙 光 武 汉 大 学 计 算 机 学 院 电 话 : 13808694857 Email: 13808694857 @139.com dayi.whu.edu.cn 5 July 2013 第 7 讲 iphone 应 用 开 发 界 面 控 件 与 内 置 视 图 计 算 机 学 院 张 曙 光 主 讲 介 绍 : 张 曙 光 武 汉 大 学 计 算 机 学 院 电 话 : 13808694857 Email: 13808694857 @139.com dayi.whu.edu.cn 5 July 2013 本 讲 学 习 目 标 了 解 控 件 的 作 用 以 及 它 与 视 图

More information

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

iPhone App Programming_2016_lecture8.key

iPhone App Programming_2016_lecture8.key ios 程序设计 (2016.3@UniTown) 第八讲 : 可视化控件的使用 (UIControls) 华南师范大学网络教育学院 2016-04-19 截 到 2016.2 ios 版本的占有率 Feb 2016 潘战生华南师范大学网络教育学院 http://www.gdou.com 潘战生华南师范大学网络教育学院 http://www.gdou.com 潘战生华南师范大学网络教育学院 http://www.gdou.com

More information

iPhone App Programming_2017_lecture8.key

iPhone App Programming_2017_lecture8.key ios 程序设计 (2017.9) 第八讲 : 可视化控件的使用 (UIControls) 华南师范大学网络教育学院 2017-11-07 截 到 2017.9 ios 版本的占有率 潘战生华南师范大学网络教育学院 http://www.gdou.com 潘战生华南师范大学网络教育学院 http://www.gdou.com 第七章 UI 控件 1. UISlider var value: Float

More information

5-1 nav css 5-2

5-1 nav css 5-2 5 HTML CSS HTML CSS Ê Ê Ê Ê 5-1 nav css 5-2 5-1 5 5-1-1 5-01 css images 01 index.html 02 5-3 style.css css 03 CH5/5-01/images 04 images index.html style.css 05

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章图表 在人口普查等统计信息时, 只有图或者表, 往往很难直观地展示统计信息的属性, 如时间性 数量性等 这时, 引进了新的概念 图表 最常见的图表有饼状图 柱状图 折线图等 本章将主要讲解关于图表的一些实例 实例 40 饼状图 实例描述 饼状图是一个划分为几个扇形的圆形统计图表, 用于描述量 频率或百分比之间的相对关系 在饼图中, 每个扇区的弧长 ( 以及圆心角和面积 ) 大小为其所表示的数量的比例

More information

iPhone App Programming_2016_lecture8.key

iPhone App Programming_2016_lecture8.key ios 程序设计 (2016.9) 第八讲 : 可视化控件的使用 (UIControls) 华南师范大学网络教育学院 2016-11-15 截 到 2016.2 ios 版本的占有率 Feb 2016 潘战生华南师范大学网络教育学院 http://www.gdou.com 潘战生华南师范大学网络教育学院 http://www.gdou.com 潘战生华南师范大学网络教育学院 http://www.gdou.com

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

obj-c_4.key

obj-c_4.key Objective-C Language Tutor : Michael Hello Obj-C #import int main(int argc, const char * argv []){ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc ] init]; NSLog(@"hello obj-c");

More information

108 第 二 章 102 2.1 使 用 UIAlertView 顯 示 提 示 問 題 你 想 要 以 提 示 (alert) 的 形 式 顯 示 一 個 訊 息 給 使 用 者 看, 這 可 以 用 來 請 他 們 確 認 一 個 動 作 詢 問 他 們 的 使 用 者 名 稱 (userna

108 第 二 章 102 2.1 使 用 UIAlertView 顯 示 提 示 問 題 你 想 要 以 提 示 (alert) 的 形 式 顯 示 一 個 訊 息 給 使 用 者 看, 這 可 以 用 來 請 他 們 確 認 一 個 動 作 詢 問 他 們 的 使 用 者 名 稱 (userna 第 二 章 實 作 控 制 器 與 視 圖 101 2.0 簡 介 所 有 的 ios 應 用 程 式 皆 使 用 Model-View-Controller( 或 稱 MVC) 架 構 從 架 構 上 來 看, model( 模 型 ) view( 視 圖 ) 與 controller( 控 制 器 ) 是 ios 應 用 程 式 主 要 的 三 個 元 件 其 中 的 model 是 應 用 程

More information

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc.

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc. Junos Pulse Mobile Security 4.0 2012 6 R1 2012, Juniper Networks, Inc. Junos Pulse Mobile Security Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, California 94089 408-745-2000 www.juniper.net

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

PowerPoint Presentation

PowerPoint Presentation TOEFL Practice Online User Guide Revised September 2009 In This Guide General Tips for Using TOEFL Practice Online Directions for New Users Directions for Returning Users 2 General Tips To use TOEFL Practice

More information

INTRODUCTION TO COM.DOC

INTRODUCTION TO COM.DOC How About COM & ActiveX Control With Visual C++ 6.0 Author: Curtis CHOU mahler@ms16.hinet.net This document can be freely release and distribute without modify. ACTIVEX CONTROLS... 3 ACTIVEX... 3 MFC ACTIVEX

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

IBM Rational ClearQuest Client for Eclipse 1/ IBM Rational ClearQuest Client for Ecl

IBM Rational ClearQuest Client for Eclipse   1/ IBM Rational ClearQuest Client for Ecl 1/39 Balaji Krish,, IBM Nam LeIBM 2005 4 15 IBM Rational ClearQuest ClearQuest Eclipse Rational ClearQuest / Eclipse Clien Rational ClearQuest Rational ClearQuest Windows Web Rational ClearQuest Client

More information

影視後製全攻略 Premiere Pro After Effects Encore 自序 Adobe Premiere Pro After Effects Encore 2008 Adobe CS Adobe CS5 Adobe CS4 Premiere Pro After Effect

影視後製全攻略 Premiere Pro After Effects Encore 自序 Adobe Premiere Pro After Effects Encore 2008 Adobe CS Adobe CS5 Adobe CS4 Premiere Pro After Effect 自序 Adobe Premiere Pro After Effects Encore 2008 Adobe CS3 2010 Adobe CS5 Adobe CS4 Premiere Pro After Effects Encore 18 ii Tony Cathy 2010/8 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 iii Premiere

More information

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

05 01 accordion UI containers 03 Accordion accordion UI accordion 54 jquery UI plugin Accordion 05 01 accordion UI containers 03 Accordion accordion UI accordion 54 05 jquery UI plugin 3-1

More information

Microsoft Word - Chap 06.doc

Microsoft Word - Chap 06.doc 視圖 圖形和圖像 本章說明如何在 iphone 上畫圖和顯示圖像 圖形和圖像是以視圖 (view) 為基礎, 所以我們首先說明視圖的基本概念 6.1 視圖 (View) iphone 手機上的視窗就是 UIWindow 類別的一個實體物件 ( 一個手機應用只有一個 UIWindow) 其中第一欄是狀態列, 包含時間 訊號強度等資訊 一個視窗內有多個物件, 比如 : 我們所增加的滑桿和文字資訊 ( 北京歡迎您

More information

Microsoft Word - SupplyIT manual 3_cn_david.doc

Microsoft Word - SupplyIT manual 3_cn_david.doc MR PRICE Supply IT Lynette Rajiah 1 3 2 4 3 5 4 7 4.1 8 4.2 8 4.3 8 5 9 6 10 6.1 16 6.2 17 6.3 18 7 21 7.1 24 7.2 25 7.3 26 7.4 27 7.5 28 7.6 29 7.7 30 7.8 31 7.9 32 7.10 32 7.11 33 7.12 34 1 7.13 35 7.14

More information

coverage2.ppt

coverage2.ppt Satellite Tool Kit STK/Coverage STK 82 0715 010-68745117 1 Coverage Definition Figure of Merit 2 STK Basic Grid Assets Interval Description 3 Grid Global Latitude Bounds Longitude Lines Custom Regions

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

2_dvdr3380_97_CT_21221b.indd

2_dvdr3380_97_CT_21221b.indd 64 65 66 ALL 3 67 a STANDBY-ON 2 a b c d e f g h i j k l b TIMER c SYSTEM-MENU d e SELECT f REC g. > h TOP MENU i ANGLE j RETURN k SUBTITLE l REC MODE 68 m n REC SOURCE o DISC-MENU p OK q EDIT r PLAYÉ

More information

入學考試網上報名指南

入學考試網上報名指南 入 學 考 試 網 上 報 名 指 南 On-line Application Guide for Admission Examination 16/01/2015 University of Macau Table of Contents Table of Contents... 1 A. 新 申 請 網 上 登 記 帳 戶 /Register for New Account... 2 B. 填

More information

Microsoft Word - UserGuide_iOS_Offerwall_CN_2.9.0(20140616).docx

Microsoft Word - UserGuide_iOS_Offerwall_CN_2.9.0(20140616).docx 力 美 媒 体 主 ios 广 告 墙 SDK 使 用 说 明 SDK Version: limei_ios_sdk_2.9.0 2014-07 北 京 力 美 科 技 有 限 公 司 目 录 1. 用 户 注 册... 3 2. 获 取 广 告 位 ID... 3 3. 配 置 Framework 文 件... 3 4. 创 建 广 告 墙... 5 5. 积 分 操 作 方 法... 6 6.

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

(Microsoft Word - 1021203\246\346\254F\267|\263\370\254\366\277\375.doc)

(Microsoft Word - 1021203\246\346\254F\267|\263\370\254\366\277\375.doc) 高 雄 市 立 左 營 高 中 102 學 年 度 第 1 學 期 第 13 次 行 政 會 報 紀 錄 時 間 :102 年 12 月 3 日 ( 星 期 二 ) 下 午 14:00 地 點 : 忠 孝 二 樓 會 議 室 主 持 人 : 陳 校 長 良 傑 出 列 席 人 員 : 如 簽 到 單 記 錄 : 吳 書 瑋 秘 書 教 務 處 陳 主 任 輝 雄 : 一 為 利 於 研 習 資 訊

More information

(Microsoft Word - \244p\273\241\273P\252\300\267|.doc)

(Microsoft Word - \244p\273\241\273P\252\300\267|.doc) 98 學 年 度 第 2 學 期 課 程 學 習 心 得 報 告 課 程 名 稱 : 小 說 與 社 會 任 課 老 師 : 劉 怡 廷 姓 名 : 和 月 學 號 : 9811122E 系 級 : 大 傳 三 連 絡 電 話 : E-mail: 1. 書 寫 字 數 不 得 少 於 1200 字 2. 書 寫 格 式 :12 號 字 新 細 明 體 單 行 間 距 3. 請 勿 任 意 更 改 格

More information

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2. 2005-06 p.1 HTML HyperText Mark-up Language 1. HTML Logo, Pascal, C++, Java HTML 2. HTML (tag) 3. HTML 4. HTML 1. HTML 2. 3. FTP HTML HTML html 1. html html html cutehtmleasyhtml 2. wyswyg (What you see

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

(2) 廠 商 具 有 維 修 維 護 或 售 後 服 務 能 力 之 證 明 ;(3) 廠 商 具 有 製 造 供 應 或 承 做 能 力 之 證 明 ;(4) 具 有 相 當 人 力 之 證 明 屬 特 定 資 格 之 ㄧ 8.(3) 機 關 辦 理 預 算 金 額 為 新 台 幣 四 億 元

(2) 廠 商 具 有 維 修 維 護 或 售 後 服 務 能 力 之 證 明 ;(3) 廠 商 具 有 製 造 供 應 或 承 做 能 力 之 證 明 ;(4) 具 有 相 當 人 力 之 證 明 屬 特 定 資 格 之 ㄧ 8.(3) 機 關 辦 理 預 算 金 額 為 新 台 幣 四 億 元 政 府 採 購 法 規 概 要 題 庫 最 後 更 新 日 期 :( 人 發 局 第 一 期 ) 2010/03/20 選 擇 題 : ( 答 案 ) 正 確 錯 誤 解 析 1.(3) 機 關 訂 定 招 標 文 件, 何 者 正 確?(1) 廠 商 履 行 契 約 所 必 須 具 備 之 財 務 商 業 或 技 術 資 格 條 件, 不 考 慮 廠 商 在 外 國 之 商 業 活 動 應 (2)

More information

人 才 培 养 与 专 业 建 设 人 才 培 养 与 专 业 建 设 首 都 师 范 大 学 重 点 专 业 培 育 与 建 设 计 划 实 施 办 法 校 发 号 根 据 首 都 师 范 大 学 十 二 五 时 期 本 科 专 业 建 设 与 发 展 规 划 安 排 为 进 一 步 加 强 学 校 本 科 人 才 培 养 工 作 加 大 专 业 建 设 力 度 提 升 专 业 建 设 水 平

More information

XHTML width/height bdo a code href object charset codebase hreflang archive lang type alt dir name name xml:lang rel/rev align shape/coords hspace/vsp

XHTML width/height bdo a code href object charset codebase hreflang archive lang type alt dir name name xml:lang rel/rev align shape/coords hspace/vsp XHTML CSS CSS CSS DOCTYPE Switch XHTML width/height bdo a code href object charset codebase hreflang archive lang type alt dir name name xml:lang rel/rev align shape/coords hspace/vspace big tabindex accesskey

More information

Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win

Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A... 11 (6) Microsoft Windows 2000... 14 Ác Åé å Serial ATA ( Nvidia nforce430)

More information

/0/ "!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $ $ $ $ $ ( $ $ $ $ $ # ( $ $ ( $ $ $ ( $ $ $ $

/0/ !!!!!  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $ $ $ $ $ ( $ $ $ $ $ # ( $ $ ( $ $ $ ( $ $ $ $ "!!!!!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ /0/ "!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

目 录 CONTENTS 第 一 部 分 : 报 名 001 第 二 部 分 : 现 场 招 标 竞 购 标 的 物 介 绍 007 一 现 场 招 标 竞 购 标 的 物 008 1. 黄 金 组 合 广 告 项 目 009 2. 奥 运 会 广 告 项 目 015 3. 欧 洲 杯 广 告 项 目 015 4. 季 播 大 活 动 广 告 项 目 016 5. 春 节 套 装 广 告 项 目 017

More information

Text 文字输入功能 , 使用者可自行定义文字 高度, 旋转角度 , 行距 , 字间距离 和 倾斜角度。

Text 文字输入功能 , 使用者可自行定义文字  高度, 旋转角度 , 行距 , 字间距离 和 倾斜角度。 GerbTool Wise Software Solution, Inc. File New OPEN CLOSE Merge SAVE SAVE AS Page Setup Print Print PreView Print setup (,, IMPORT Gerber Wizard Gerber,Aperture Gerber Gerber, RS-274-D, RS-274-X, Fire9000

More information

F477

F477 FrontPage & Flash 連 CSIE, NTU September 15, 2007 Outline September 15, 2007 Page 2 連 FrontPage September 15, 2007 Page 3 連 FTP Email FrontPage HTML tag September 15, 2007 Page 4 連 September

More information

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更 AX5000 Version 1.0 2006 年 9 錄...1 說...2 說...3...4 說...5 六...6 6.1 率...7 6.2 POST PAY...8 6.3 PREPAY DEPOSIT...9 6.4...10 6.5...11 更...12...12 LCD IC LED Flash 更 兩 RJ11 ( ) DC ON OFF ON 狀 狀 更 OFF 復 狀 說

More information

MATLAB介紹

MATLAB介紹 MATLAB 2008a GUIDE GUIDE GUIDE Graphic User Interface Design Environment Graphical User Interface GUI GUIDE 令 拉 見 GUIDE 不 GUI GUI 行 率 GUIDE MATLAB 7.x GUIDE 令 guide GUIDE GUIDE Create New GUI Blank GUI

More information

Windows XP

Windows XP Windows XP What is Windows XP Windows is an Operating System An Operating System is the program that controls the hardware of your computer, and gives you an interface that allows you and other programs

More information

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc)

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc) : TBFAT-G5MP-MN004-11 1 GX Series PLC Program Manual 2 GX Series PLC Program Manual Contents Contents...3 1... 1-1 1.1... 1-2 1.2... 1-3 1.2.1... 1-3 1.2.2... 1-4 1.2.3... 1-4 1.2.4... 1-6 1.3... 1-7 1.3.1...

More information

iOS Map SDK开发指南

iOS Map SDK开发指南 ios 地图 SDK 开发者指南 V1.00 ios 地图 SDK 简介...1 1 概述...1 1.1 文档范围...1 1.2 版本兼容性...1 2 SDK 使用工程配置... 1 2.1 新建工程...1 2.2 导入 SDK 工程配置...2 2.3 导入 libkimapkit.bundle 资源文件... 2 2.4 导入系统库...3 2.5 环境配置...4 3 地图显示...4

More information

2007

2007 2007 年 上 半 年 软 件 评 测 师 考 试 浅 析 作 者 : 陈 嘉 祥 方 耀 公 司 : 广 东 亿 迅 科 技 有 限 公 司 ( 质 量 管 理 部 ) 1 简 介 1.1 目 的 本 文 章 主 要 介 绍 软 件 评 测 师 考 试 的 范 围 内 容 以 及 其 重 要 性, 还 有 相 关 的 试 题 分 析 1.2 适 用 范 围 有 意 参 与 或 将 来 有 意 参

More information

ebook71-13

ebook71-13 13 I S P Internet 13. 2. 1 k p p p P P P 13. 2. 2 1 3. 2. 3 k p p p 1 3. 2. 4 l i n u x c o n f P P P 13. 2. 5 p p p s e t u p 13. 2. 6 p p p s e t u p P P P 13. 2. 7 1 3. 2. 8 C a l d e r a G U I 13.

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

Microsoft Word - 201110.doc

Microsoft Word - 201110.doc 2011 年 10 月 信 徒 交 通 月 刊 目 錄 一 本 期 目 錄 編 輯 室 1 二 牧 者 的 話 教 會 轉 化 -- 得 到 更 新 皮 袋 衣 立 凡 2 三 講 章 精 華 清 潔 的 心 思 -- 除 去 論 斷 講 員 衣 立 凡 / 賴 美 如 整 理 4 清 潔 的 心 思 -- 除 去 情 慾 講 員 葉 志 偉 / 林 慶 如 整 理 9 四 精 選 文 章 等 候

More information

iPhone App Programming_2014_lecture6

iPhone App Programming_2014_lecture6 ios 程序设计 (2014.2) 表视图控制器 第六讲 : (UITableViewController) 及标签条视图控制器 (UITabBarController) 华南师范大学网络教育学院 2014-04-01 第五章表视图控制器 ( Basic SubTitle 分节 (Sectioned) 单元定制 表视图界面 : 表视图界面 : 显示可滚动 可选择的数据列表 表视图界面 : 显示可滚动

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10 Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10 Ác Åé å Serial ATA ( Silicon Image SiI3114) S A T A (1) SATA (2)

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b 06 01 action JavaScript action jquery jquery AJAX 04 4-1 CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS background-color camel-cased DOM backgroundcolor.css()

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

untitled

untitled Sansa Fuze TM MP3 1-866-SANDISK (726-3475) www.sandisk.com/techsupport www.sandisk.com/sansa Fuze-8UM-CHS ... 3... 4 Sansa Fuze TM... 6... 6... 7... 7 Sansa Fuze... 7... 8... 9... 9... 10... 11... 11...

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http 資 訊 學 科 中 心 6 月 份 電 子 報 用 MIT App Inventor2 程 式 拼 圖 來 開 發 Android 裝 置 應 用 程 式 李 啟 龍 學 習 Android 裝 置 程 式 設 計, 可 以 不 必 學 習 較 為 艱 澀 的 Java 語 法, 只 要 使 用 拼 圖 模 式 來 組 合 程 式, 就 可 以 完 成 Android 裝 置 的 應 用 程 式 MIT

More information

BlackBerry Classic Smartphone-用户指南

BlackBerry Classic Smartphone-用户指南 BlackBerry Classic Smartphone 版 本 : 10.3.1 用 户 指 南 发 布 日 期 : 2015-03-02 SWD-20150302151727377 目 录 设 置 和 基 本 知 识... 6 当 前 版 本 的 新 特 色...6 BlackBerry 智 能 手 机 简 介... 14 设 备 一 览... 14 BlackBerry Classic 键...16

More information

untitled

untitled 1 .NET sln csproj dll cs aspx 說 料 料 利 來 料 ( 來 ) 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Click 滑 料 Response 列 料 Response HttpResponse 類 Write 料 Redirect URL Response.Write("!!

More information

untitled

untitled 1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1

More information

Microsoft Word - HSK使用手册.doc

Microsoft Word - HSK使用手册.doc HSK / New HSK Online Mock Test/Practices Student User Manual Table of contents New User... 2 1.1 Register... 2 1.2 Login... 3 1.3 Homepage... 4 Free Test... 4 2.1 Start... 5 2.2 Results... 6 Mock Test...

More information

什么是 view? 我们在前 面创建过 UIButton,UILabel 等, 但是究竟什么是 view? 一个 view 是 UIView 或者它的某 一 子类的实例 view 知道如何把它 自 己绘制到应 用程序窗 口上 ( 一个 UIWindow 的实例 ) view 存在于 view 的层次

什么是 view? 我们在前 面创建过 UIButton,UILabel 等, 但是究竟什么是 view? 一个 view 是 UIView 或者它的某 一 子类的实例 view 知道如何把它 自 己绘制到应 用程序窗 口上 ( 一个 UIWindow 的实例 ) view 存在于 view 的层次 子类化 UIView 和 UIScrollView 范圣刚,princetoad@gmail.com,www.tfan.org 什么是 view? 我们在前 面创建过 UIButton,UILabel 等, 但是究竟什么是 view? 一个 view 是 UIView 或者它的某 一 子类的实例 view 知道如何把它 自 己绘制到应 用程序窗 口上 ( 一个 UIWindow 的实例 ) view

More information

CA-C750К

CA-C750К 1 3 3 4 PC 4 USB 5 5 6 8 9 11 mediasync Manager?...13 mediasync Manager 15 25 38 39 41 41 DRM...44 Image Manager...44 47 49 49 50 50 51 51 51 52 / 52 A-B 53 MP3 53 /FM 54 FM 55 FM 55 BMP56 56 57 57 58

More information

一 浦 发 手 机 银 行 ( 企 业 版 ) 客 户 端 服 务 简 介 浦 发 银 行 率 先 在 同 业 中 面 向 企 业 客 户 推 出 了 多 版 本 的 手 机 银 行 浦 发 手 机 银 行 ( 企 业 版 ) 提 供 iphone Android ipad Windows Phon

一 浦 发 手 机 银 行 ( 企 业 版 ) 客 户 端 服 务 简 介 浦 发 银 行 率 先 在 同 业 中 面 向 企 业 客 户 推 出 了 多 版 本 的 手 机 银 行 浦 发 手 机 银 行 ( 企 业 版 ) 提 供 iphone Android ipad Windows Phon 浦 发 手 机 银 行 ( 企 业 版 )iphone 客 户 端 服 务 使 用 指 南 一 浦 发 手 机 银 行 ( 企 业 版 ) 客 户 端 服 务 简 介... 2 二 浦 发 手 机 银 行 ( 企 业 版 )IPHONE 客 户 端 安 装 指 引... 3 1 手 机 银 行 ( 企 业 版 )IPHONE 客 户 端 软 件 安 装 包 的 获 取... 3 2 手 机 银 行

More information

目 錄 壹 青 輔 會 結 案 附 件 貳 活 動 計 劃 書 參 執 行 內 容 一 教 學 內 容 二 與 當 地 教 師 教 學 交 流 三 服 務 執 行 進 度 肆 執 行 成 效 一 教 學 課 程 二 與 當 地 教 師 教 學 交 流 三 服 務 滿 意 度 調 查 伍 服 務 檢

目 錄 壹 青 輔 會 結 案 附 件 貳 活 動 計 劃 書 參 執 行 內 容 一 教 學 內 容 二 與 當 地 教 師 教 學 交 流 三 服 務 執 行 進 度 肆 執 行 成 效 一 教 學 課 程 二 與 當 地 教 師 教 學 交 流 三 服 務 滿 意 度 調 查 伍 服 務 檢 2 0 1 0 年 靜 宜 青 年 國 際 志 工 泰 北 服 務 成 果 報 告 指 導 單 位 : 行 政 院 青 年 輔 導 委 員 會 僑 務 委 員 會 主 辦 單 位 : 靜 宜 大 學 服 務 學 習 發 展 中 心 協 力 單 位 : 靜 宜 大 學 師 資 培 育 中 心 財 團 法 人 台 灣 明 愛 文 教 基 金 會 中 華 民 國 九 十 九 年 九 月 二 十 四 日 目

More information

致遠管理學院法規提案單

致遠管理學院法規提案單 台 灣 首 府 大 學 101 學 年 度 第 2 學 期 第 1 次 行 政 會 議 會 議 議 程 會 議 資 料 請 先 行 參 閱 為 方 便 討 論, 請 於 開 會 當 日 攜 帶 與 會, 謝 謝 您 的 合 作 若 不 克 與 會, 請 於 事 前 告 知 承 辦 人 ( 分 機 215 詹 琬 渝 ) 會 議 時 間 : 民 國 102 年 2 月 6 日 ( 星 期 三 ) 下

More information

视图控制器 (View Controllers)

视图控制器 (View Controllers) 视图控制器 (View Controllers) 范圣刚,princetoad@gmail.com, www.tfan.org Quiz 和 QuizViewController 回顾 在第 一个 session 的 Quiz 应 用程序中, 我们把所有的代码都写在 QuizViewController 类中 这个类 的 一个实例是 Quiz 应 用的控制器 它有指向屏幕上的 labels 的指针,

More information

Epson

Epson WH / MS CMP0087-00 TC WH/MS EPSON EPSON EXCEED YOUR VISION EXCEED YOUR VISION Seiko Corporation Microsoft and Windows are registered trademarks of Microsoft Corporation. Mac and Mac OS are registered trademarks

More information

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100

More information

号 Objective-C 基 础 OS X 系 统 简 介 Xcode 简 介 Objective-C 概 述 HelloWorld 基 础 数 据 类 型 2 Objective-C 面 向 对 象 编 程 Objective-C 类 的 定 义 Objective-C 对 象 的 创 建 Ob

号 Objective-C 基 础 OS X 系 统 简 介 Xcode 简 介 Objective-C 概 述 HelloWorld 基 础 数 据 类 型 2 Objective-C 面 向 对 象 编 程 Objective-C 类 的 定 义 Objective-C 对 象 的 创 建 Ob 附 件 一 课 程 大 纲 Objective-C 语 言 课 程 预 期 目 标 精 通 Objective-C 语 言, 能 熟 练 运 用 Objective-C 语 言 编 写 ios 应 用 程 序 并 解 决 常 见 问 题 迅 速 掌 握 Objective-C 开 发 技 能, 积 累 Objective-C 开 发 经 验, 掌 握 常 用 开 发 调 试 技 巧, 可 以 迅 速

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

入 指 令 如 : 鍵 盤 鼠 標 多 點 觸 控 重 力 感 應 陀 螺 儀 等 4. 圖 形 用 戶 接 口 掌 握 引 擎 API 中 GUI 與 GUILayout 類 中 方 法 和 變 量 的 使 用, 能 夠 通 過 GUI Skin 為 應 用 的 界 面 定 制 不 同 風 格 主

入 指 令 如 : 鍵 盤 鼠 標 多 點 觸 控 重 力 感 應 陀 螺 儀 等 4. 圖 形 用 戶 接 口 掌 握 引 擎 API 中 GUI 與 GUILayout 類 中 方 法 和 變 量 的 使 用, 能 夠 通 過 GUI Skin 為 應 用 的 界 面 定 制 不 同 風 格 主 Unity 專 業 能 力 認 證 (Unity Certified Professional) 應 考 須 知 壹 閱 讀 大 綱 主 題 一 : 數 字 媒 體 基 礎 知 識 1. 2D 圖 形 知 識 熟 悉 常 用 位 圖 數 據 的 結 構 和 格 式 其 中 包 括 像 素 數 據 顏 色 的 值 與 通 道 的 概 念 2. 3D 圖 形 學 相 關 知 識 a) 理 解 向 量 的

More information

安友医疗科技(武汉)有限责任公司

安友医疗科技(武汉)有限责任公司 武 汉 楚 才 云 科 技 有 限 公 司 武 汉 楚 才 云 科 技 有 限 公 司 成 立 于 2015 年 3 月, 主 营 方 向 为 面 向 K12 的 线 上 线 下 互 动 教 育 信 息 服 务 平 台, 主 营 产 品 包 括 新 国 学 教 育 O2O 托 管 服 务 免 费 家 校 通 在 线 作 业 辅 导 及 家 教 推 介 基 于 地 理 位 置 的 培 优 辅 导 教

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

CDWA Mapping. 22 Dublin Core Mapping

CDWA Mapping. 22 Dublin Core Mapping (version 0.23) 1 3... 3 3 3 5 7 10 22 CDWA Mapping. 22 Dublin Core Mapping. 24 26 28 30 33 2 3 X version 0.2 ( ) 4 Int VarcharText byte byte byte Id Int 10 Management Main Code Varchar 30 Code Original

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes What is a JavaBean? JavaBean Java JavaBean Java JavaBean JComponent tooltiptext font background foreground doublebuffered border preferredsize minimumsize maximumsize JButton. Swing JButton JButton() JButton(String

More information

Serial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Micro

Serial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Micro Serial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A... 11 (6) Microsoft Windows 2000... 14 Ác Åé å Serial ATA ( nvidia

More information

epub 94-3

epub 94-3 3 A u t o C A D L AY E R L I N E T Y P E O S N A P S T Y L E X R E F - AutoLISP Object ARX A u t o C A D D C L A u t o C A D A u t o d e s k P D B D C L P D B D C L D C L 3.1 Wi n d o w s A u t o C A D

More information

<4D6963726F736F667420576F7264202D203120BBA5C1AACDF8BBF9B4A1B1EAD7BC2E646F63>

<4D6963726F736F667420576F7264202D203120BBA5C1AACDF8BBF9B4A1B1EAD7BC2E646F63> 概 要 本 标 准 是 中 国 广 告 协 会 的 互 动 网 络 委 员 会 主 持, 行 业 互 联 网 企 业 广 告 公 司 广 告 主 第 三 方 数 据 机 构 共 同 参 与 研 制 完 成 本 标 准 已 经 通 过 了 小 范 围 测 试 和 专 业 论 证, 并 根 据 行 业 和 相 关 部 门 的 反 馈 意 见 进 行 了 修 改, 具 备 了 行 业 试 行 的 基 础,

More information

(京)新登字063号

(京)新登字063号 教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言

More information

untitled

untitled 0000137925 REV 1.0 ... 4... 5... 6... 7... 8... 9... 11... 12... 13... 14... 15... 17... 18... 20... 22 ( 1)... 25... 26 ( 2)... 28 \ 1 ( 2A)... 29 \ 2 ( 2B)... 30 SSR ( 2C)... 31 \ ( 2D)... 32 \ ( 3A)...

More information

Bus Hound 5

Bus Hound 5 Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

Open topic Bellman-Ford算法与负环

Open topic   Bellman-Ford算法与负环 Open topic Bellman-Ford 2018 11 5 171860508@smail.nju.edu.cn 1/15 Contents 1. G s BF 2. BF 3. BF 2/15 BF G Bellman-Ford false 3/15 BF G Bellman-Ford false G c = v 0, v 1,..., v k (v 0 = v k ) k w(v i 1,

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information