问个关于多视图切换的问题,加载NIB 后失败

yulongdpj 2011-10-07 03:41:03
按照书上的例子学习,做多视图程序。
主控制器
SwitchViewController.m
中的一个函数

- (void)viewDidLoad {
BlueViewController *bluecontroller=[[BlueViewController alloc]
initWithNibName:@"BlueView" bundle:nil];
self.blueViewController=bluecontroller;
[self.view insertSubview:bluecontroller.view atIndex:0];
[bluecontroller release];
}

程序运行到 insertSubview 就异常了。

把这函数去掉就可以显示出主控制器对应的界面。

不知道为什么会这样,哪位牛人给指导一下呗。

我可以把我的工程发给你。
...全文
229 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员小迷 2012-01-12
  • 打赏
  • 举报
回复
异常的原因是什么?不要让大家猜。
yiyaoyao58958 2011-10-17
  • 打赏
  • 举报
回复
BlueViewController *bluecontroller=[[BlueViewController alloc] initWithNibName:@"BlueView" bundle:nil];

你的xib文件的文件名是【BlueView.xib】?

如果BlueViewController.m的配套xib的名字是【BlueViewController.xib】
,那就应该是[BlueViewController alloc] initWithNibName:@"BlueViewController" bundle:nil];


glacier3d 2011-10-09
  • 打赏
  • 举报
回复
bluecontroller的view输出口没有连接到nib中的视图?
lone_boy 2011-10-09
  • 打赏
  • 举报
回复
控制器,不是这么用的。上网找找资料。
关注下:【UINavigationController】
第1章 欢迎来到iPhone的世界 1 1.1 关于本书 1 1.2 必要条件 1 1.3 必备知识 3 1.4 编写iPhone应用程序有何不同 4 1.4.1 只有一个正在运行的应用程序 4 1.4.2 只有一个窗口 4 1.4.3 受限访问 5 1.4.4 有限的响应时间 5 1.4.5 有限的屏幕大小 5 1.4.6 有限的系统资源 5 1.4.7 不支持垃圾收集 6 1.4.8 新功能 6 1.4.9 与众不同的方法 6 1.5 本书内容 6 1.6 本次更新的内容 7 1.7 准备开始吧 7 第2章 创建基本项目 8 2.1 在Xcode中设置项目 8 2.2 Interface Builder简介 13 2.2.1 nib文件的构成 14 2.2.2 在视图中添加标签 15 2.3 美化iPhone应用程序 17 2.4 小结 20 第3章 处理基本交互 21 3.1 MVC范型 21 3.2 创建项目 22 3.3 创建视图控制器 22 3.3.1 输出口 23 3.3.2 操作 24 3.3.3 将操作和输出口添加到视图控制器 24 3.3.4 将操作和输出口添加到实现文件 26 3.4 使用应用程序委托 30 3.5 编辑MainWindow.xib 33 3.6 编辑Button_FunViewController.xib 34 3.6.1 在Interface Builder中创建视图 34 3.6.2 连接所有元素 36 3.6.3 测试 39 3.7 小结 39 第4章 更丰富的用户界面 40 4.1 满是控件的屏幕 40 4.2 活动、静态和被动控件 42 4.3 创建应用程序 42 4.3.1 导入图像 42 4.3.2 实现图像视图和文本字段 43 4.3.3 添加图像视图 44 4.3.4 添加文本字段 47 4.3.5 设置第二个文本字段的属性 50 4.3.6 连接输出口 50 4.4 构建和运行 51 4.4.1 完成输入后关闭键盘 51 4.4.2 通过触摸背景关闭键盘 52 4.5 实现滑块和标签 54 4.5.1 确定输出口 54 4.5.2 确定操作 54 4.5.3 添加输出口和操作 54 4.5.4 添加滑块和标签 55 4.5.5 连接操作和输出口 56 4.6 实现开关、按钮和分段控件 57 4.6.1 确定输出口 57 4.6.2 确定操作 57 4.6.3 添加开关、按钮和分段控件 59 4.6.4 连接开关输出口和操作 60 4.6.5 添加按钮 61 4.7 实现操作表和警报 62 4.7.1 遵从操作表委托方法 62 4.7.2 显示操作表 62 4.7.3 操作表委托和创建警报 64 4.8 美化按钮 66 4.8.1 viewDidLoad方法 66 4.8.2 控件状态 67 4.8.3 可拉伸图像 67 4.9 成为出色的内存使用者 67 4.10 小结 68 第5章 自动旋转和自动调整大小 70 5.1 使用自动调整属性处理旋转 71 5.1.1 指定旋转支持 71 5.1.2 使用自动调整属性设计界面 73 5.1.3 自动调整属性 74 5.1.4 设置按钮的自动调整属性 75 5.2 在旋转时重构视图 76 5.2.1 声明和连接输出口 77 5.2.2 在旋转时移动按钮 77 5.3 切换视图 79 5.3.1 确定输出口 80 5.3.2 确定动作 80 5.3.3 声明动作和输出口 80 5.3.4 设计两个视图 81 5.3.5 实现交换和动作 82 5.4 小结 84 第6章 多视图应用程序 85 6.1 View Switcher应用程序 87 6.2 多视图应用程序的体系结构 88 6.3 构建View Switcher 88 6.3.1 创建视图控制器和nib文件 89 6.3.2 修改应用程序委托 91 6.3.3 SwitchViewController.h 92 6.3.4 修改MainWindow.xib 92 6.3.5 编写SwitchViewController.m 95 6.3.6 实现内容视图 98 6.4 制作转换动画 101 6.5 小结 103 第7章 标签栏与选取器 104 7.1 Pickers应用程序 104 7.2 委托和数据源 106 7.3 建立工具栏框架 106 7.3.1 创建文件 107 7.3.2 添加根视图控制器 108 7.4 实现日期选取器 112 7.5 实现单个组件选取器 114 7.5.1 声明输出口和操作 114 7.5.2 构建视图 115 7.5.3 将控制器实现为数据源和委托 115 7.6 实现多组件选取器 120 7.6.1 声明输出口和操作 120 7.6.2 构建视图 120 7.6.3 实现控制器 121 7.7 实现独立组件 123 7.8 使用自定义选取器创建简单游戏 130 7.8.1 编写控制器头文件 130 7.8.2 构建视图 130 7.8.3 添加图像资源 131 7.8.4 实现控制器 131 7.8.5 spin方法 134 7.8.6 viewDidLoad方法 135 7.8.7 最后的细节 137 7.8.8 链接Audio Toolbox框架 140 7.9 小结 141 第8章 表视图简介 142 8.1 表视图基础 142 8.2 实现一个简单的表 145 8.2.1 设计视图 145 8.2.2 编写控制器 146 8.3 添加一个图像 149 8.4 附加配置 151 8.4.1 设置缩进级别 152 8.4.2 处理行的选择 152 8.4.3 更改字体大小和行高 154 8.4.4 委托还能做什么 155 8.5 定制表视图单元 155 8.5.1 单元应用程序 155 8.5.2 向表视图单元添加子视图 156 8.5.3 使用UITableViewCell的自定义子类 159 8.6 分组分区和索引分区 163 8.6.1 构建视图 163 8.6.2 导入数据 164 8.6.3 实现控制器 164 8.6.4 添加索引 168 8.7 实现搜索栏 168 8.7.1 重新考虑设计 168 8.7.2 深层可变副本 169 8.7.3 更新控制器头文件 170 8.7.4 修改视图 171 8.7.5 修改控制器实现 173 8.8 小结 183 第9章 导航控制器和表视图 184 9.1 导航控制器 184 9.1.1 栈的性质 184 9.1.2 控制器栈 185 9.2 由6个部分组成的分层应用程序:Nav 185 9.3 构建Nav应用程序的骨架 188 9.3.1 创建第一级视图控制器 188 9.3.2 设置导航控制器 189 9.4 第一个子控制器:展示按钮视图 194 9.5 第二个子控制器:校验表 201 9.6 第三个子控制器:表行上的控件 205 9.7 第四个子控制器:可移动的行 211 9.7.1 编辑模式 211 9.7.2 创建一个新的二级控制器 212 9.8 第五个子控制器:可删除的行 217 9.9 第六个子控制器:可编辑的详细窗格 222 9.9.1 创建数据模型对象 222 9.9.2 创建控制器 224 9.9.3 创建详细视图控制器 227 9.10 其他内容 240 9.11 小结 243 第10章 应用程序设置和用户默认设置 244 10.1 设置束 244 10.2 AppSettings应用程序 245 10.3 创建项目 247 10.4 使用设置束 248 10.4.1 在项目中添加设置束 248 10.4.2 设置属性列表 249 10.4.3 添加文本字段设置 250 10.4.4 添加安全文本字段设置 252 10.4.5 添加多值字段 252 10.4.6 添加拨动开关设置 253 10.4.7 添加滑块设置 254 10.4.8 添加子设置视图 255 10.5 读取应用程序中的设置 256 10.6 更改应用程序中的默认设置 260 10.7 小结 263 第11章 基本数据持久性 264 11.1 应用程序的沙盒 264 11.1.1 获取Documents目录 265 11.1.2 获取tmp目录 266 11.2 文件保存策略 266 11.2.1 单个文件持久性 266 11.2.2 多个文件持久性 267 11.3 持久保存应用程序数据 267 11.4 持久性应用程序 268 11.4.1 创建持久性项目 269 11.4.2 设计持久性应用程序视图 269 11.4.3 编辑持久性类 270 11.4.4 对模型对象进行归档 273 11.4.5 实现NSCopying 275 11.5 归档应用程序 276 11.5.1 实现FourLines类 277 11.5.2 实现PersistenceView-Controller类 278 11.6 使用iPhone的嵌入式SQLite3 280 11.7 使用Core Data 289 11.7.1 实体和托管对象 291 11.7.2 键/值编码 292 11.7.3 在上下文中结合它们 292 11.7.4 创建新托管对象 293 11.7.5 检索托管对象 293 11.7.6 设计数据模型 294 11.7.7 创建持久视图和控制器 297 11.7.8 将持久视图控制器设置为应用程序的根控制器 302 11.8 小结 303 第12章 使用Quartz和OpenGL绘图 304 12.1 图形世界的两个视图 304 12.2 本章的绘图应用程序 305 12.3 Quart绘图方法 305 12.3.1 Quartz 2D的图形上下文 305 12.3.2 坐标系 306 12.3.3 指定颜色 307 12.3.4 在上下文中绘制图像 308 12.3.5 绘制形状:多边形、直线和曲线 309 12.3.6 Quartz 2D工具示例:模式、梯度、虚线模式 309 12.4 构建QuartzFun应用程序 309 12.4.1 创建随机颜色 310 12.4.2 定义应用程序常量 311 12.4.3 实现QuartzFunView框架 312 12.4.4 向视图控制器中添加输出口和操作 314 12.4.5 更新QuartzFunViewContro-ller.xib 316 12.4.6 绘制直线 317 12.4.7 绘制矩形和椭圆形 319 12.4.8 绘制图像 320 12.4.9 优化QuartzFun应用程序 322 12.5 一些OpenGL ES基础知识 325 12.5.1 构建GLFun应用程序 326 12.5.2 设计Nib、添加框架、运行应用程序 335 12.6 小结 335 第13章 轻击、触摸和手势 336 13.1 多触摸术语 336 13.2 响应者链 337 13.3 多触摸体系结构 338 13.4 触摸浏览器应用程序 339 13.5 Swipes应用程序 342 13.6 实现多个轻扫动作 345 13.7 检测多次轻击 347 13.8 检测捏合操作 351 13.9 自己定义手势 354 13.10 小结 358 第14章 使用Core Location定位功能 359 14.1 位置管理器 359 14.1.1 设置所需的精度 360 14.1.2 设置距离筛选器 360 14.1.3 启动位置管理器 360 14.1.4 更明智地使用位置管理器 360 14.2 位置管理器委托 361 14.2.1 获取位置更新 361 14.2.2 使用CLLocation获取纬度和经度 361 14.2.3 错误通知 362 14.3 尝试使用Core Location 363 14.3.1 更新位置管理器 367 14.3.2 确定移动距离 367 14.4 小结 368 第15章 加速计 369 15.1 加速计物理学 369 15.2 访问加速计 370 15.2.1 UIAcceleration 370 15.2.2 实现accelerometer: didAccelerate:方法 371 15.3 摇动与击碎 373 15.3.1 用于击碎的代码 373 15.3.2 加载模拟文件 376 15.3.3 完好如初——复原触摸 377 15.4 滚弹珠程序 377 15.4.1 实现Ball View控制器 378 15.4.2 编写Ball View 379 15.4.3 计算小球运动 382 15.5 小结 385 第16章 iPhone照相机和照片库 386 16.1 使用图像选取器和UIImagePicker-Controller 386 16.2 实现图像选取器控制器委托 387 16.3 实际测试照相机和库 389 16.3.1 设计界面 390 16.3.2 实现照相机视图控制器 390 16.4 小结 394 第17章 应用程序本地化 395 17.1 本地化体系结构 395 17.2 使用字符串文件 396 17.3 现实中的iPhone:本地化应用程序 398 17.3.1 查看当前区域设置 401 17.3.2 测试LocalizeMe 401 17.3.3 本地化nib文件 402 17.3.4 查看本地化的项目结构 403 17.3.5 本地化图像 405 17.3.6 本地化应用程序图标 406 17.3.7 生成和本地化字符串文件 406 17.4 小结 409 第18章 未来之路 410 18.1 别陷进单一的思路里 410 18.1.1 苹果公司的文档 410 18.1.2 邮件列表 411 18.1.3 论坛 411 18.1.4 网站 411 18.1.5 博客 412 18.1.6 Dave和Jeff的博客及Twitter 412 18.1.7 参考图书 412 18.1.8 如果仍未解决问题 412 18.2 再会 412
(共分4个part,请下载完4个part后再解压) 目录 第1章iPhone SDK 简介......1 1.1 苹果公司的iPhone SDK....1 1.2 组建iPhone 项目.....2 1.3 iPhone 应用程序组件.....3 1.3.1 应用程序文件夹层次结构.....3 1.3.2 可执行文件.....3 1.3.3 Info.plist 文件.....4 1.3.4 图标和默认图像.....5 1.3.5 XIB(NIB)文件.....5 1.3.6 应用程序束中不存在的文件.....5 1.3.7 沙盒.....6 1.4 平台限制.....6 1.4.1 存储限制.....6 1.4.2 数据访问限制.....7 1.4.3 内存限制.....7 1.4.4 交互限制.....7 1.4.5 电量限制.....7 1.4.6 应用程序限制.....8 1.4.7 用户行为限制.....8 1.5 SDK 限制.....8 1.6 编程范型.....9 1.6.1 面向对象编程.....9 1.6.2 模型—视图—控制器.....9 1.7 构建iPhone 应用程序主干.....15 1.8 Hello World 应用程序.....15 1.8.1 类.....17 1.8.2 代码.....18 1.8.3 关于示例代码和内存管理的 注意事项.....18 1.9 构建Hello World 应用程序.....19 1.9.1 创建iPhone 项目.....19 1.9.2 运行主干.....20 1.9.3 定制iPhone 项目.....20 1.9.4 编辑标识信息.....21 1.9.5 使用调试器.....21 1.10 苹果公司的iPhone 开发人员计划.....23 1.10.1 开发电话.....23 1.10.2 应用程序标识符.....23 1.11 从Xcode 到iPhone:Organizer 界面.....24 1.11.1 PROJECTS & SOURCES 列表.....25 1.11.2 DEVICES 列表.....25 1.11.3 Summary 选项卡.....25 1.11.4 Console 选项卡.....25 1.11.5 Crash Logs 选项卡.....25 1.11.6 Screenshot 选项卡.....25 1.11.7 关于限制(Tethering).....26 1.11.8 在iPhone 上测试应用程序.....26 1.11.9 编译以分发.....27 1.12 使用文档中未记录的API 调用.....28 1.13 Ad Hoc 分发.....28 1.14 小结.....29 第2章视图......30 2.1 UIView 和UIWindow...30 2.1.1 层次结构.....30 2.1.2 几何特征.....31 2.1.3 手势.....34 2.2 秘诀:添加递进式子视图.....34 2.3 秘诀:拖动视图.....36 2.3.1 UITouch...37 2.3.2 添加持久性.....39 2.4 秘诀:剪辑视图.....42 2.4.1 通过剪辑平衡触摸.....43 2.4.2 访问逐个像素值.....43 2.5 秘诀:检查多点触摸.....45 2.6 UIView 动画.....48 2.7 秘诀:淡入和淡出视图.....49 2.8 秘诀:交换视图.....50 2.9 秘诀:翻转视图.....52 2.10 秘诀:将CATransition 应用于层.....54 2.10.1 文档中未记录的动画类型.....54 2.10.2 通用Core Animation 调用.....56 2.11 秘诀:滑动视图.....57 2.12 秘诀:转换视图.....59 2.13 小结.....61 第3章视图控制器......63 3.1 视图管理.....63 3.1.1 核心类.....63 3.1.2 专用类.....64 3.1.3 创建UIViewController...64 3.2 使用Interface Builder 为UIView- Controller 构建视图.....66 3.2.1 温度转换器示例.....66 3.2.2 直接加载XIB 文件.....73 3.3 导航控制器.....73 3.3.1 设置导航控制器.....74 3.3.2 推入和弹出视图控制器.....74 3.3.3 导航项类.....75 3.4 秘诀:构建简单的双项菜单.....75 3.5 秘诀:添加分段控件.....77 3.6 秘诀:在导航栏中添加UIToolbar...79 3.7 秘诀:在视图控制器之间导航.....81 3.7.1 返回根.....83 3.7.2 加载视图控制器数组.....83 3.8 选项卡栏.....83 3.9 小结.....86 第4章警告用户......87 4.1 通过警告直接与用户对话.....87 4.1.1 记录结果.....88 4.1.2 构建警告.....88 4.1.3 显示警告.....89 4.2 秘诀:创建多行按钮显示.....90 4.3 秘诀:自动计时的无按钮警告.....91 4.4 秘诀:请求用户的文本输入.....92 4.5 秘诀:显示简单菜单.....94 4.6 “请稍候”:向用户显示进度.....95 4.7 秘诀:调用基本的文档中未记录的 UIProgressHUD...95 4.8 秘诀:使用UIActivity- IndicatorView...97 4.9 秘诀:构建UIProgressView...98 4.10 秘诀:添加自定义、可轻击的 覆盖层.....101 4.11 秘诀:构建下滑式警告.....104 4.12 秘诀:添加状态栏图像.....107 4.13 添加应用程序标记.....108 4.14 秘诀:简单的音频警告.....110 4.15 小结.....112 第5章基本表格......113 5.1 UITableView 和UITableView- Controller 简介.....113 5.1.1 创建表格.....113 5.1.2 UITableViewController 的 作用.....115 5.2 秘诀:创建简单的列表表格.....115 5.2.1 数据源函数.....116 5.2.2 重用单元格.....116 5.2.3 字体表格示例.....116 5.3 秘诀:创建基于表格的选择表.....118 5.4 秘诀:将图像加载到表格单元中.....122 5.5 秘诀:设置单元格的文本特性.....123 5.6 秘诀:删除单元格选择.....124 5.7 秘诀:创建复杂的单元格.....125 5.8 秘诀:创建选中的选择.....127 5.9 秘诀:删除单元格.....128 5.9.1 创建和显示删除控件.....130 5.9.2 关闭删除控件.....131 5.9.3 处理删除请求.....131 5.9.4 滑动单元格.....131 5.9.5 添加单元格.....131 5.10 秘诀:对单元格重新排序.....131 5.11 秘诀:使用公开.....132 5.12 小结.....134 第6章高级表格......135 6.1 秘诀:对表格选择进行分组.....135 6.1.1 构建基于部分的数据源.....139 6.1.2 添加部分标题.....139 6.2 秘诀:构建带索引的部分表格.....140 6.3 秘诀:定制单元格背景.....141 6.4 秘诀:创建蓝白交替的单元格.....145 6.5 秘诀:设置表格边框.....146 6.6 秘诀:添加耦合的单元格控件.....148 6.7 秘诀:构建多滚轮表格.....150 6.8 秘诀:使用UIDatePicker...153 6.9 秘诀:创建完全自定义的分组表格.....155 6.10 小结.....160 第7章媒体......161 7.1 秘诀:按照文件类型浏览Documents 文件夹.....161 7.2 加载和查看图像.....163 7.3 秘诀:显示小图像.....164 7.4 秘诀:使用UIWebVeiw 显示图像.....167 7.5 秘诀:浏览图像库.....169 7.6 秘诀:选择和定制相册中的图像.....171 7.7 秘诀:使用iPhone 照相机拍照.....174 7.8 处理iPhone 音频.....175 7.9 秘诀:使用Celestial 播放音频.....176 7.10 秘诀:使用媒体播放器实现音频和 视频重放.....178 7.11 秘诀:录制音频.....179 7.12 读入文本数据.....187 7.13 从备份文件还原媒体.....187 7.14 小结.....189 第8章控件......190 8.1 秘诀:构建简单的按钮.....190 8.1.1 UIButton 类.....191 8.1.2 构建自定义按钮.....192 8.1.3 玻璃按钮(glass button).....194 8.2 秘诀:向按钮添加动画元素.....194 8.3 秘诀:为按钮响应制作动画效果.....196 8.4 秘诀:定制开关.....197 8.5 秘诀:添加自定义滑块缩略图.....200 8.6 秘诀:关闭UITextField 键盘.....204 8.7 秘诀:关闭UITextView 键盘.....205 8.8 秘诀:向文本视图添加一个撤销 (Undo)按钮.....207 8.9 秘诀:创建一个基于文本视图的HTML 编辑器.....209 8.10 秘诀:构建一个交互搜索栏.....211 8.11 秘诀:添加标注(callout)视图.....213 8.12 添加一个页面指示器控件.....216 8.13 秘诀:定制工具栏.....218 8.14 小结.....221 第9章人物、地点和事件......223 9.1 地址簿框架.....223 9.1.1 Address Book UI.223 9.1.2 Address Book..224 9.2 秘诀:访问地址簿图像数据.....225 9.3 秘诀:显示地址簿信息.....227 9.4 秘诀:浏览地址簿.....228 9.4.1 (只)浏览电子邮件地址.....230 9.4.2 添加新的联系人.....230 9.5 Core Location..231 9.6 秘诀:Core Location 简介.....232 9.7 秘诀:将地理编码转化为地址.....235 9.8 秘诀:使用Core Location 数据访问 地图.....238 9.9 秘诀:访问核心设备信息.....240 9.10 秘诀:启用和禁用近程传感器.....241 9.11 秘诀:使用加速度将方向定位到 “向上”.....241 9.12 秘诀:使用加速度移动屏幕上的 对象.....243 9.13 小结.....246 第10章连接服务......247 10.1 秘诀:添加自定义设置束.....247 10.2 秘诀:使应用程序支持自定义URL 模式.....251 10.3 秘诀:检查网络状态.....253 10.3.1 测试网络状态.....253 10.3.2 恢复本地IP 地址.....254 10.3.3 查询站点的IP 地址.....255 10.3.4 检查站点可用性.....255 10.4 秘诀:与iPhone 数据库交互.....257 10.5 秘诀:将XML 转换为树.....259 10.6 秘诀:存储和检索密钥链项.....261 10.6.1 存储多个密钥链值.....265 10.6.2 密钥链持久化.....267 10.7 发送和接收文件.....267 10.8 秘诀:构建一个简单的基于Web 的 服务器.....268 10.9 即时消息传送.....272 10.10 小结.....272 第11章Cover Flow 编程......274 11.1 UICoverFlowLayer 类.....274 11.2 构建Cover Flow 视图.....276 11.3 构建Cover Flow 视图控制器.....278 11.3.1 Cover Flow 数据源方法.....279 11.3.2 Cover Flow 委托方法.....279 11.4 小结.....282 本书的目标读者 本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥链条目,如何搜索地址簿,如何在视图之间切换,以及如何使用Core Location。 本书针对的正好是刚开始接触iPhone 编程的学习者。通过清晰、内容完备的示例,读者可以迅速起 步并开始高效率的开发。书中给出了经过测试的、现成可用的解决方案,程序员可以专注于应用程序的具 体部分,而不必为样本式的任务劳神。 本书的组织结构 本书针对iPhone 开发新手面对的大多数常见问题逐一提供了解决方案:布置界面元素,响应用户操 作,访问本地数据源并连接到因特网。本书按示例进行组织,因此代码拿来就可以使用,非常方便。程序 员可以在自己的项目中使用书中的源代码,然后根据需要进行定制。每章都将相关的任务归类在一起。读 者可以直接到所需的问题类别查找解决方案,而不需要总去琢磨哪些类或框架最适合当前问题。 下面概述了本书中各章的内容。 第1章:iPhone SDK 简介 第1章介绍iPhone SDK 并将iPhone 作为交付平台进行研究,包括平台的限制等。它对标准iPhone 应用程序进行了细化的分类,并指导你构建第一个Hello World 样式的示例。 第2章:视图 第2章介绍屏幕上的iPhone 视图及对象。你将了解如何对视图进行布置、创建和排序,以创建iPhone 应用程序的骨架。还会了解视图层次结构、几何方法和动画,以及用户如何通过触摸与视图进行交互。 第3章:视图控制器 iPhone 范型具体而言就是:小屏幕和大虚拟世界。在第3章中,你将探索各种UIView- Controller 类,使用这些类可以对用户所交互的虚拟空间进行扩大和排序。你将学习如何在iPhone 应用程序屏幕之 间导航时让这些强大的对象执行所有繁重的任务。 第4章:警告用户 iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第4章展示如 何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。 第5章:基本表格 表格提供了在小型受限设备上获得出色运行效果的交互类。iPhone 和iPod touch 随带的许多乃至大 部分应用程序都以表格为中心,包括Settings、YouTube、Stocks 和Weather。第5章展示iPhone 表 格的工作方式,哪些表格对于开发人员可用,以及如何在自己的程序中使用表格特性。 第6章:高级表格 iPhone 表格并不仅限于简单的滚动列表。你可以构建分为多个部分(各部分都有自己的标题)、带多 个滚动栏的表格。你可以添加开关之类的控件,创建半透明单元背景,以及添加自定义字体。第6章以第5 章的内容为基础,介绍可在iPhone 程序中使用的高级表格秘诀。 第7章:媒体 不负众望,iPhone 可以加载并显示各种格式的媒体。它可以播放音乐和电影,处理图像和Web 页面。 也可以呈现PDF 文档和相册。第7章介绍用多种方法将数据导入或下载到程序中,并使用iPhone 的多点 触摸界面显示这些数据。 第8章:控件 UIControl 类为许多iPhone 交互式元素提供了基础,包括按钮、文本字段、滑块和开关。第8章通过 已经或尚未用文档细致记录的SDK 调用来介绍控件及其用法。 第9章:人物、地点和事件 除了在任意计算机上都可看到的标准用户界面控件和媒体组件,iPhone SDK 还提供了大量特定于 iPhone 和iPod touch 交付的专门的开发人员解决方案。第9章介绍其中最有用的解决方案,包括地址簿 访问(人物)、Core Location(地点)和传感器(事件)。 第10章:连接服务 作为一种可与因特网连接的设备,iPhone 非常适用于订阅基于Web 的服务。苹果公司通过其在各类 网络计算服务方面的坚实基础以及支持技术丰富了这种平台。iPhone SDK 可处理套接字、密码密钥链、 SQL 访问、XML 处理等。第10章将探讨常用的网络计算技术,并提供能简化日常工作的方法。 第11章:Cover Flow 编程 虽然Cover Flow 并未正式包含在iPhone SDK 中,但它仍然提供了iPhone 体验中最优秀的特性之 一。使用Cover Flow,能为用户提供极为出色的视觉选择体验,这一点令标准的滚动列表望尘莫及。第11 章介绍Cover Flow 并展示如何在应用程序中使用它。__
(共分4个part,请下载完4个part后再解压) 目录 第1章iPhone SDK 简介......1 1.1 苹果公司的iPhone SDK....1 1.2 组建iPhone 项目.....2 1.3 iPhone 应用程序组件.....3 1.3.1 应用程序文件夹层次结构.....3 1.3.2 可执行文件.....3 1.3.3 Info.plist 文件.....4 1.3.4 图标和默认图像.....5 1.3.5 XIB(NIB)文件.....5 1.3.6 应用程序束中不存在的文件.....5 1.3.7 沙盒.....6 1.4 平台限制.....6 1.4.1 存储限制.....6 1.4.2 数据访问限制.....7 1.4.3 内存限制.....7 1.4.4 交互限制.....7 1.4.5 电量限制.....7 1.4.6 应用程序限制.....8 1.4.7 用户行为限制.....8 1.5 SDK 限制.....8 1.6 编程范型.....9 1.6.1 面向对象编程.....9 1.6.2 模型—视图—控制器.....9 1.7 构建iPhone 应用程序主干.....15 1.8 Hello World 应用程序.....15 1.8.1 类.....17 1.8.2 代码.....18 1.8.3 关于示例代码和内存管理的 注意事项.....18 1.9 构建Hello World 应用程序.....19 1.9.1 创建iPhone 项目.....19 1.9.2 运行主干.....20 1.9.3 定制iPhone 项目.....20 1.9.4 编辑标识信息.....21 1.9.5 使用调试器.....21 1.10 苹果公司的iPhone 开发人员计划.....23 1.10.1 开发电话.....23 1.10.2 应用程序标识符.....23 1.11 从Xcode 到iPhone:Organizer 界面.....24 1.11.1 PROJECTS & SOURCES 列表.....25 1.11.2 DEVICES 列表.....25 1.11.3 Summary 选项卡.....25 1.11.4 Console 选项卡.....25 1.11.5 Crash Logs 选项卡.....25 1.11.6 Screenshot 选项卡.....25 1.11.7 关于限制(Tethering).....26 1.11.8 在iPhone 上测试应用程序.....26 1.11.9 编译以分发.....27 1.12 使用文档中未记录的API 调用.....28 1.13 Ad Hoc 分发.....28 1.14 小结.....29 第2章视图......30 2.1 UIView 和UIWindow...30 2.1.1 层次结构.....30 2.1.2 几何特征.....31 2.1.3 手势.....34 2.2 秘诀:添加递进式子视图.....34 2.3 秘诀:拖动视图.....36 2.3.1 UITouch...37 2.3.2 添加持久性.....39 2.4 秘诀:剪辑视图.....42 2.4.1 通过剪辑平衡触摸.....43 2.4.2 访问逐个像素值.....43 2.5 秘诀:检查多点触摸.....45 2.6 UIView 动画.....48 2.7 秘诀:淡入和淡出视图.....49 2.8 秘诀:交换视图.....50 2.9 秘诀:翻转视图.....52 2.10 秘诀:将CATransition 应用于层.....54 2.10.1 文档中未记录的动画类型.....54 2.10.2 通用Core Animation 调用.....56 2.11 秘诀:滑动视图.....57 2.12 秘诀:转换视图.....59 2.13 小结.....61 第3章视图控制器......63 3.1 视图管理.....63 3.1.1 核心类.....63 3.1.2 专用类.....64 3.1.3 创建UIViewController...64 3.2 使用Interface Builder 为UIView- Controller 构建视图.....66 3.2.1 温度转换器示例.....66 3.2.2 直接加载XIB 文件.....73 3.3 导航控制器.....73 3.3.1 设置导航控制器.....74 3.3.2 推入和弹出视图控制器.....74 3.3.3 导航项类.....75 3.4 秘诀:构建简单的双项菜单.....75 3.5 秘诀:添加分段控件.....77 3.6 秘诀:在导航栏中添加UIToolbar...79 3.7 秘诀:在视图控制器之间导航.....81 3.7.1 返回根.....83 3.7.2 加载视图控制器数组.....83 3.8 选项卡栏.....83 3.9 小结.....86 第4章警告用户......87 4.1 通过警告直接与用户对话.....87 4.1.1 记录结果.....88 4.1.2 构建警告.....88 4.1.3 显示警告.....89 4.2 秘诀:创建多行按钮显示.....90 4.3 秘诀:自动计时的无按钮警告.....91 4.4 秘诀:请求用户的文本输入.....92 4.5 秘诀:显示简单菜单.....94 4.6 “请稍候”:向用户显示进度.....95 4.7 秘诀:调用基本的文档中未记录的 UIProgressHUD...95 4.8 秘诀:使用UIActivity- IndicatorView...97 4.9 秘诀:构建UIProgressView...98 4.10 秘诀:添加自定义、可轻击的 覆盖层.....101 4.11 秘诀:构建下滑式警告.....104 4.12 秘诀:添加状态栏图像.....107 4.13 添加应用程序标记.....108 4.14 秘诀:简单的音频警告.....110 4.15 小结.....112 第5章基本表格......113 5.1 UITableView 和UITableView- Controller 简介.....113 5.1.1 创建表格.....113 5.1.2 UITableViewController 的 作用.....115 5.2 秘诀:创建简单的列表表格.....115 5.2.1 数据源函数.....116 5.2.2 重用单元格.....116 5.2.3 字体表格示例.....116 5.3 秘诀:创建基于表格的选择表.....118 5.4 秘诀:将图像加载到表格单元中.....122 5.5 秘诀:设置单元格的文本特性.....123 5.6 秘诀:删除单元格选择.....124 5.7 秘诀:创建复杂的单元格.....125 5.8 秘诀:创建选中的选择.....127 5.9 秘诀:删除单元格.....128 5.9.1 创建和显示删除控件.....130 5.9.2 关闭删除控件.....131 5.9.3 处理删除请求.....131 5.9.4 滑动单元格.....131 5.9.5 添加单元格.....131 5.10 秘诀:对单元格重新排序.....131 5.11 秘诀:使用公开.....132 5.12 小结.....134 第6章高级表格......135 6.1 秘诀:对表格选择进行分组.....135 6.1.1 构建基于部分的数据源.....139 6.1.2 添加部分标题.....139 6.2 秘诀:构建带索引的部分表格.....140 6.3 秘诀:定制单元格背景.....141 6.4 秘诀:创建蓝白交替的单元格.....145 6.5 秘诀:设置表格边框.....146 6.6 秘诀:添加耦合的单元格控件.....148 6.7 秘诀:构建多滚轮表格.....150 6.8 秘诀:使用UIDatePicker...153 6.9 秘诀:创建完全自定义的分组表格.....155 6.10 小结.....160 第7章媒体......161 7.1 秘诀:按照文件类型浏览Documents 文件夹.....161 7.2 加载和查看图像.....163 7.3 秘诀:显示小图像.....164 7.4 秘诀:使用UIWebVeiw 显示图像.....167 7.5 秘诀:浏览图像库.....169 7.6 秘诀:选择和定制相册中的图像.....171 7.7 秘诀:使用iPhone 照相机拍照.....174 7.8 处理iPhone 音频.....175 7.9 秘诀:使用Celestial 播放音频.....176 7.10 秘诀:使用媒体播放器实现音频和 视频重放.....178 7.11 秘诀:录制音频.....179 7.12 读入文本数据.....187 7.13 从备份文件还原媒体.....187 7.14 小结.....189 第8章控件......190 8.1 秘诀:构建简单的按钮.....190 8.1.1 UIButton 类.....191 8.1.2 构建自定义按钮.....192 8.1.3 玻璃按钮(glass button).....194 8.2 秘诀:向按钮添加动画元素.....194 8.3 秘诀:为按钮响应制作动画效果.....196 8.4 秘诀:定制开关.....197 8.5 秘诀:添加自定义滑块缩略图.....200 8.6 秘诀:关闭UITextField 键盘.....204 8.7 秘诀:关闭UITextView 键盘.....205 8.8 秘诀:向文本视图添加一个撤销 (Undo)按钮.....207 8.9 秘诀:创建一个基于文本视图的HTML 编辑器.....209 8.10 秘诀:构建一个交互搜索栏.....211 8.11 秘诀:添加标注(callout)视图.....213 8.12 添加一个页面指示器控件.....216 8.13 秘诀:定制工具栏.....218 8.14 小结.....221 第9章人物、地点和事件......223 9.1 地址簿框架.....223 9.1.1 Address Book UI.223 9.1.2 Address Book..224 9.2 秘诀:访问地址簿图像数据.....225 9.3 秘诀:显示地址簿信息.....227 9.4 秘诀:浏览地址簿.....228 9.4.1 (只)浏览电子邮件地址.....230 9.4.2 添加新的联系人.....230 9.5 Core Location..231 9.6 秘诀:Core Location 简介.....232 9.7 秘诀:将地理编码转化为地址.....235 9.8 秘诀:使用Core Location 数据访问 地图.....238 9.9 秘诀:访问核心设备信息.....240 9.10 秘诀:启用和禁用近程传感器.....241 9.11 秘诀:使用加速度将方向定位到 “向上”.....241 9.12 秘诀:使用加速度移动屏幕上的 对象.....243 9.13 小结.....246 第10章连接服务......247 10.1 秘诀:添加自定义设置束.....247 10.2 秘诀:使应用程序支持自定义URL 模式.....251 10.3 秘诀:检查网络状态.....253 10.3.1 测试网络状态.....253 10.3.2 恢复本地IP 地址.....254 10.3.3 查询站点的IP 地址.....255 10.3.4 检查站点可用性.....255 10.4 秘诀:与iPhone 数据库交互.....257 10.5 秘诀:将XML 转换为树.....259 10.6 秘诀:存储和检索密钥链项.....261 10.6.1 存储多个密钥链值.....265 10.6.2 密钥链持久化.....267 10.7 发送和接收文件.....267 10.8 秘诀:构建一个简单的基于Web 的 服务器.....268 10.9 即时消息传送.....272 10.10 小结.....272 第11章Cover Flow 编程......274 11.1 UICoverFlowLayer 类.....274 11.2 构建Cover Flow 视图.....276 11.3 构建Cover Flow 视图控制器.....278 11.3.1 Cover Flow 数据源方法.....279 11.3.2 Cover Flow 委托方法.....279 11.4 小结.....282 本书的目标读者 本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥链条目,如何搜索地址簿,如何在视图之间切换,以及如何使用Core Location。 本书针对的正好是刚开始接触iPhone 编程的学习者。通过清晰、内容完备的示例,读者可以迅速起 步并开始高效率的开发。书中给出了经过测试的、现成可用的解决方案,程序员可以专注于应用程序的具 体部分,而不必为样本式的任务劳神。 本书的组织结构 本书针对iPhone 开发新手面对的大多数常见问题逐一提供了解决方案:布置界面元素,响应用户操 作,访问本地数据源并连接到因特网。本书按示例进行组织,因此代码拿来就可以使用,非常方便。程序 员可以在自己的项目中使用书中的源代码,然后根据需要进行定制。每章都将相关的任务归类在一起。读 者可以直接到所需的问题类别查找解决方案,而不需要总去琢磨哪些类或框架最适合当前问题。 下面概述了本书中各章的内容。 第1章:iPhone SDK 简介 第1章介绍iPhone SDK 并将iPhone 作为交付平台进行研究,包括平台的限制等。它对标准iPhone 应用程序进行了细化的分类,并指导你构建第一个Hello World 样式的示例。 第2章:视图 第2章介绍屏幕上的iPhone 视图及对象。你将了解如何对视图进行布置、创建和排序,以创建iPhone 应用程序的骨架。还会了解视图层次结构、几何方法和动画,以及用户如何通过触摸与视图进行交互。 第3章:视图控制器 iPhone 范型具体而言就是:小屏幕和大虚拟世界。在第3章中,你将探索各种UIView- Controller 类,使用这些类可以对用户所交互的虚拟空间进行扩大和排序。你将学习如何在iPhone 应用程序屏幕之 间导航时让这些强大的对象执行所有繁重的任务。 第4章:警告用户 iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第4章展示如 何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。 第5章:基本表格 表格提供了在小型受限设备上获得出色运行效果的交互类。iPhone 和iPod touch 随带的许多乃至大 部分应用程序都以表格为中心,包括Settings、YouTube、Stocks 和Weather。第5章展示iPhone 表 格的工作方式,哪些表格对于开发人员可用,以及如何在自己的程序中使用表格特性。 第6章:高级表格 iPhone 表格并不仅限于简单的滚动列表。你可以构建分为多个部分(各部分都有自己的标题)、带多 个滚动栏的表格。你可以添加开关之类的控件,创建半透明单元背景,以及添加自定义字体。第6章以第5 章的内容为基础,介绍可在iPhone 程序中使用的高级表格秘诀。 第7章:媒体 不负众望,iPhone 可以加载并显示各种格式的媒体。它可以播放音乐和电影,处理图像和Web 页面。 也可以呈现PDF 文档和相册。第7章介绍用多种方法将数据导入或下载到程序中,并使用iPhone 的多点 触摸界面显示这些数据。 第8章:控件 UIControl 类为许多iPhone 交互式元素提供了基础,包括按钮、文本字段、滑块和开关。第8章通过 已经或尚未用文档细致记录的SDK 调用来介绍控件及其用法。 第9章:人物、地点和事件 除了在任意计算机上都可看到的标准用户界面控件和媒体组件,iPhone SDK 还提供了大量特定于 iPhone 和iPod touch 交付的专门的开发人员解决方案。第9章介绍其中最有用的解决方案,包括地址簿 访问(人物)、Core Location(地点)和传感器(事件)。 第10章:连接服务 作为一种可与因特网连接的设备,iPhone 非常适用于订阅基于Web 的服务。苹果公司通过其在各类 网络计算服务方面的坚实基础以及支持技术丰富了这种平台。iPhone SDK 可处理套接字、密码密钥链、 SQL 访问、XML 处理等。第10章将探讨常用的网络计算技术,并提供能简化日常工作的方法。 第11章:Cover Flow 编程 虽然Cover Flow 并未正式包含在iPhone SDK 中,但它仍然提供了iPhone 体验中最优秀的特性之 一。使用Cover Flow,能为用户提供极为出色的视觉选择体验,这一点令标准的滚动列表望尘莫及。第11 章介绍Cover Flow 并展示如何在应用程序中使用它。__
(共分4个part,请下载完4个part后再解压) 目录 第1章iPhone SDK 简介......1 1.1 苹果公司的iPhone SDK....1 1.2 组建iPhone 项目.....2 1.3 iPhone 应用程序组件.....3 1.3.1 应用程序文件夹层次结构.....3 1.3.2 可执行文件.....3 1.3.3 Info.plist 文件.....4 1.3.4 图标和默认图像.....5 1.3.5 XIB(NIB)文件.....5 1.3.6 应用程序束中不存在的文件.....5 1.3.7 沙盒.....6 1.4 平台限制.....6 1.4.1 存储限制.....6 1.4.2 数据访问限制.....7 1.4.3 内存限制.....7 1.4.4 交互限制.....7 1.4.5 电量限制.....7 1.4.6 应用程序限制.....8 1.4.7 用户行为限制.....8 1.5 SDK 限制.....8 1.6 编程范型.....9 1.6.1 面向对象编程.....9 1.6.2 模型—视图—控制器.....9 1.7 构建iPhone 应用程序主干.....15 1.8 Hello World 应用程序.....15 1.8.1 类.....17 1.8.2 代码.....18 1.8.3 关于示例代码和内存管理的 注意事项.....18 1.9 构建Hello World 应用程序.....19 1.9.1 创建iPhone 项目.....19 1.9.2 运行主干.....20 1.9.3 定制iPhone 项目.....20 1.9.4 编辑标识信息.....21 1.9.5 使用调试器.....21 1.10 苹果公司的iPhone 开发人员计划.....23 1.10.1 开发电话.....23 1.10.2 应用程序标识符.....23 1.11 从Xcode 到iPhone:Organizer 界面.....24 1.11.1 PROJECTS & SOURCES 列表.....25 1.11.2 DEVICES 列表.....25 1.11.3 Summary 选项卡.....25 1.11.4 Console 选项卡.....25 1.11.5 Crash Logs 选项卡.....25 1.11.6 Screenshot 选项卡.....25 1.11.7 关于限制(Tethering).....26 1.11.8 在iPhone 上测试应用程序.....26 1.11.9 编译以分发.....27 1.12 使用文档中未记录的API 调用.....28 1.13 Ad Hoc 分发.....28 1.14 小结.....29 第2章视图......30 2.1 UIView 和UIWindow...30 2.1.1 层次结构.....30 2.1.2 几何特征.....31 2.1.3 手势.....34 2.2 秘诀:添加递进式子视图.....34 2.3 秘诀:拖动视图.....36 2.3.1 UITouch...37 2.3.2 添加持久性.....39 2.4 秘诀:剪辑视图.....42 2.4.1 通过剪辑平衡触摸.....43 2.4.2 访问逐个像素值.....43 2.5 秘诀:检查多点触摸.....45 2.6 UIView 动画.....48 2.7 秘诀:淡入和淡出视图.....49 2.8 秘诀:交换视图.....50 2.9 秘诀:翻转视图.....52 2.10 秘诀:将CATransition 应用于层.....54 2.10.1 文档中未记录的动画类型.....54 2.10.2 通用Core Animation 调用.....56 2.11 秘诀:滑动视图.....57 2.12 秘诀:转换视图.....59 2.13 小结.....61 第3章视图控制器......63 3.1 视图管理.....63 3.1.1 核心类.....63 3.1.2 专用类.....64 3.1.3 创建UIViewController...64 3.2 使用Interface Builder 为UIView- Controller 构建视图.....66 3.2.1 温度转换器示例.....66 3.2.2 直接加载XIB 文件.....73 3.3 导航控制器.....73 3.3.1 设置导航控制器.....74 3.3.2 推入和弹出视图控制器.....74 3.3.3 导航项类.....75 3.4 秘诀:构建简单的双项菜单.....75 3.5 秘诀:添加分段控件.....77 3.6 秘诀:在导航栏中添加UIToolbar...79 3.7 秘诀:在视图控制器之间导航.....81 3.7.1 返回根.....83 3.7.2 加载视图控制器数组.....83 3.8 选项卡栏.....83 3.9 小结.....86 第4章警告用户......87 4.1 通过警告直接与用户对话.....87 4.1.1 记录结果.....88 4.1.2 构建警告.....88 4.1.3 显示警告.....89 4.2 秘诀:创建多行按钮显示.....90 4.3 秘诀:自动计时的无按钮警告.....91 4.4 秘诀:请求用户的文本输入.....92 4.5 秘诀:显示简单菜单.....94 4.6 “请稍候”:向用户显示进度.....95 4.7 秘诀:调用基本的文档中未记录的 UIProgressHUD...95 4.8 秘诀:使用UIActivity- IndicatorView...97 4.9 秘诀:构建UIProgressView...98 4.10 秘诀:添加自定义、可轻击的 覆盖层.....101 4.11 秘诀:构建下滑式警告.....104 4.12 秘诀:添加状态栏图像.....107 4.13 添加应用程序标记.....108 4.14 秘诀:简单的音频警告.....110 4.15 小结.....112 第5章基本表格......113 5.1 UITableView 和UITableView- Controller 简介.....113 5.1.1 创建表格.....113 5.1.2 UITableViewController 的 作用.....115 5.2 秘诀:创建简单的列表表格.....115 5.2.1 数据源函数.....116 5.2.2 重用单元格.....116 5.2.3 字体表格示例.....116 5.3 秘诀:创建基于表格的选择表.....118 5.4 秘诀:将图像加载到表格单元中.....122 5.5 秘诀:设置单元格的文本特性.....123 5.6 秘诀:删除单元格选择.....124 5.7 秘诀:创建复杂的单元格.....125 5.8 秘诀:创建选中的选择.....127 5.9 秘诀:删除单元格.....128 5.9.1 创建和显示删除控件.....130 5.9.2 关闭删除控件.....131 5.9.3 处理删除请求.....131 5.9.4 滑动单元格.....131 5.9.5 添加单元格.....131 5.10 秘诀:对单元格重新排序.....131 5.11 秘诀:使用公开.....132 5.12 小结.....134 第6章高级表格......135 6.1 秘诀:对表格选择进行分组.....135 6.1.1 构建基于部分的数据源.....139 6.1.2 添加部分标题.....139 6.2 秘诀:构建带索引的部分表格.....140 6.3 秘诀:定制单元格背景.....141 6.4 秘诀:创建蓝白交替的单元格.....145 6.5 秘诀:设置表格边框.....146 6.6 秘诀:添加耦合的单元格控件.....148 6.7 秘诀:构建多滚轮表格.....150 6.8 秘诀:使用UIDatePicker...153 6.9 秘诀:创建完全自定义的分组表格.....155 6.10 小结.....160 第7章媒体......161 7.1 秘诀:按照文件类型浏览Documents 文件夹.....161 7.2 加载和查看图像.....163 7.3 秘诀:显示小图像.....164 7.4 秘诀:使用UIWebVeiw 显示图像.....167 7.5 秘诀:浏览图像库.....169 7.6 秘诀:选择和定制相册中的图像.....171 7.7 秘诀:使用iPhone 照相机拍照.....174 7.8 处理iPhone 音频.....175 7.9 秘诀:使用Celestial 播放音频.....176 7.10 秘诀:使用媒体播放器实现音频和 视频重放.....178 7.11 秘诀:录制音频.....179 7.12 读入文本数据.....187 7.13 从备份文件还原媒体.....187 7.14 小结.....189 第8章控件......190 8.1 秘诀:构建简单的按钮.....190 8.1.1 UIButton 类.....191 8.1.2 构建自定义按钮.....192 8.1.3 玻璃按钮(glass button).....194 8.2 秘诀:向按钮添加动画元素.....194 8.3 秘诀:为按钮响应制作动画效果.....196 8.4 秘诀:定制开关.....197 8.5 秘诀:添加自定义滑块缩略图.....200 8.6 秘诀:关闭UITextField 键盘.....204 8.7 秘诀:关闭UITextView 键盘.....205 8.8 秘诀:向文本视图添加一个撤销 (Undo)按钮.....207 8.9 秘诀:创建一个基于文本视图的HTML 编辑器.....209 8.10 秘诀:构建一个交互搜索栏.....211 8.11 秘诀:添加标注(callout)视图.....213 8.12 添加一个页面指示器控件.....216 8.13 秘诀:定制工具栏.....218 8.14 小结.....221 第9章人物、地点和事件......223 9.1 地址簿框架.....223 9.1.1 Address Book UI.223 9.1.2 Address Book..224 9.2 秘诀:访问地址簿图像数据.....225 9.3 秘诀:显示地址簿信息.....227 9.4 秘诀:浏览地址簿.....228 9.4.1 (只)浏览电子邮件地址.....230 9.4.2 添加新的联系人.....230 9.5 Core Location..231 9.6 秘诀:Core Location 简介.....232 9.7 秘诀:将地理编码转化为地址.....235 9.8 秘诀:使用Core Location 数据访问 地图.....238 9.9 秘诀:访问核心设备信息.....240 9.10 秘诀:启用和禁用近程传感器.....241 9.11 秘诀:使用加速度将方向定位到 “向上”.....241 9.12 秘诀:使用加速度移动屏幕上的 对象.....243 9.13 小结.....246 第10章连接服务......247 10.1 秘诀:添加自定义设置束.....247 10.2 秘诀:使应用程序支持自定义URL 模式.....251 10.3 秘诀:检查网络状态.....253 10.3.1 测试网络状态.....253 10.3.2 恢复本地IP 地址.....254 10.3.3 查询站点的IP 地址.....255 10.3.4 检查站点可用性.....255 10.4 秘诀:与iPhone 数据库交互.....257 10.5 秘诀:将XML 转换为树.....259 10.6 秘诀:存储和检索密钥链项.....261 10.6.1 存储多个密钥链值.....265 10.6.2 密钥链持久化.....267 10.7 发送和接收文件.....267 10.8 秘诀:构建一个简单的基于Web 的 服务器.....268 10.9 即时消息传送.....272 10.10 小结.....272 第11章Cover Flow 编程......274 11.1 UICoverFlowLayer 类.....274 11.2 构建Cover Flow 视图.....276 11.3 构建Cover Flow 视图控制器.....278 11.3.1 Cover Flow 数据源方法.....279 11.3.2 Cover Flow 委托方法.....279 11.4 小结.....282 本书的目标读者 本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥链条目,如何搜索地址簿,如何在视图之间切换,以及如何使用Core Location。 本书针对的正好是刚开始接触iPhone 编程的学习者。通过清晰、内容完备的示例,读者可以迅速起 步并开始高效率的开发。书中给出了经过测试的、现成可用的解决方案,程序员可以专注于应用程序的具 体部分,而不必为样本式的任务劳神。 本书的组织结构 本书针对iPhone 开发新手面对的大多数常见问题逐一提供了解决方案:布置界面元素,响应用户操 作,访问本地数据源并连接到因特网。本书按示例进行组织,因此代码拿来就可以使用,非常方便。程序 员可以在自己的项目中使用书中的源代码,然后根据需要进行定制。每章都将相关的任务归类在一起。读 者可以直接到所需的问题类别查找解决方案,而不需要总去琢磨哪些类或框架最适合当前问题。 下面概述了本书中各章的内容。 第1章:iPhone SDK 简介 第1章介绍iPhone SDK 并将iPhone 作为交付平台进行研究,包括平台的限制等。它对标准iPhone 应用程序进行了细化的分类,并指导你构建第一个Hello World 样式的示例。 第2章:视图 第2章介绍屏幕上的iPhone 视图及对象。你将了解如何对视图进行布置、创建和排序,以创建iPhone 应用程序的骨架。还会了解视图层次结构、几何方法和动画,以及用户如何通过触摸与视图进行交互。 第3章:视图控制器 iPhone 范型具体而言就是:小屏幕和大虚拟世界。在第3章中,你将探索各种UIView- Controller 类,使用这些类可以对用户所交互的虚拟空间进行扩大和排序。你将学习如何在iPhone 应用程序屏幕之 间导航时让这些强大的对象执行所有繁重的任务。 第4章:警告用户 iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第4章展示如 何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。 第5章:基本表格 表格提供了在小型受限设备上获得出色运行效果的交互类。iPhone 和iPod touch 随带的许多乃至大 部分应用程序都以表格为中心,包括Settings、YouTube、Stocks 和Weather。第5章展示iPhone 表 格的工作方式,哪些表格对于开发人员可用,以及如何在自己的程序中使用表格特性。 第6章:高级表格 iPhone 表格并不仅限于简单的滚动列表。你可以构建分为多个部分(各部分都有自己的标题)、带多 个滚动栏的表格。你可以添加开关之类的控件,创建半透明单元背景,以及添加自定义字体。第6章以第5 章的内容为基础,介绍可在iPhone 程序中使用的高级表格秘诀。 第7章:媒体 不负众望,iPhone 可以加载并显示各种格式的媒体。它可以播放音乐和电影,处理图像和Web 页面。 也可以呈现PDF 文档和相册。第7章介绍用多种方法将数据导入或下载到程序中,并使用iPhone 的多点 触摸界面显示这些数据。 第8章:控件 UIControl 类为许多iPhone 交互式元素提供了基础,包括按钮、文本字段、滑块和开关。第8章通过 已经或尚未用文档细致记录的SDK 调用来介绍控件及其用法。 第9章:人物、地点和事件 除了在任意计算机上都可看到的标准用户界面控件和媒体组件,iPhone SDK 还提供了大量特定于 iPhone 和iPod touch 交付的专门的开发人员解决方案。第9章介绍其中最有用的解决方案,包括地址簿 访问(人物)、Core Location(地点)和传感器(事件)。 第10章:连接服务 作为一种可与因特网连接的设备,iPhone 非常适用于订阅基于Web 的服务。苹果公司通过其在各类 网络计算服务方面的坚实基础以及支持技术丰富了这种平台。iPhone SDK 可处理套接字、密码密钥链、 SQL 访问、XML 处理等。第10章将探讨常用的网络计算技术,并提供能简化日常工作的方法。 第11章:Cover Flow 编程 虽然Cover Flow 并未正式包含在iPhone SDK 中,但它仍然提供了iPhone 体验中最优秀的特性之 一。使用Cover Flow,能为用户提供极为出色的视觉选择体验,这一点令标准的滚动列表望尘莫及。第11 章介绍Cover Flow 并展示如何在应用程序中使用它。__

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧