编辑推荐
      书中赠送的51CTO学习卡如已过期,可凭卡号致电400-851-9651置换为51CTO月度会员,享受和学习卡一样的服务
    以Xcode 6为开发环境,详细讲解全新的iOS 8应用开发
   通过121个实例全面展现iOS开发中较为深入的12类应用模块
  实例众多:详细讲解121个iOS经典实例的开发过程,提高实战开发水平
  覆盖全面:涵盖图形图像、图表、动画、网页、地图、音频/视频、触摸、手势、传感器和网络等12类应用模块
  由浅入深:实例按照“实现原理、实现过程、重点代码”的编排顺序讲解,更容易掌握
  代码精简:精简结构性代码,保留关键代码和核心代码,以节省篇幅,让本书更超值
  配流程图:为复杂的实例配有详细的程序流程图,以帮助读者轻松理解程序的执行过程
  重点讲解:对每个实例的核心功能都给予了专门讲解,以便于读者更好地掌握
  新技术:书中的实例完全适用于全新的iOS 8开发平台,也兼容iOS 7开发平台
  答疑解惑:提供了QQ群、技术论坛和E-mail等完善的学习交流和沟通方式
 
      内容简介
     《iOS开发范例实战宝典》分为基础篇和进阶篇两个分册。其内容包含了iOS开发必知必会的238个经典实例和几百个开发模块。书中的实例紧跟技术趋势,以iOS 8为版本编写,内容覆盖了iOS开发的方方面面,几乎涉及iOS开发的所有重要知识。书中给出了每个实例的具体实现过程,并对程序代码做了详细注释,对其中的重点和难点进行了专门分析,而且精讲了每个实例的重点代码,读者可以在这些实例的基础上做出更多更新的功能。
  本书为《iOS开发范例实战宝典(进阶篇)》,共12章,包含了121个开发实例。其中包括59个图形图像类实例、5个图标类实例、16个动画类实例、9个网页视图类实例、13个地图类实例、9个音频和视频类实例、4个内部应用程序类实例、8个触摸和手势类实例、10个照片库与相机类实例、4个传感器类实例和4个网络类实例。
  本书涉及面广,涉及iOS软件开发的各种常用应用。适合所有想全面学习iOS开发技术的人员阅读,也适合iOS专业开发人员作为案头必备的参考书。
  本书涵盖的精华内容
  图形图像(39个实例)
  图表(5个实例)
  动画(16个实例)
  网页视图(9个实例)
  地图(13个实例)
  音频和视频(9个实例)
  内置的应用程序(4个实例)
  触摸和手势(8个实例)
  照片库与相机(10个实例)
  传感器(4个实例)
  网络(4个实例)     
作者简介
     杨佩璐,现任教于山东中医药大学理工学院,副教授。研究方向为计算机科学技术、计算机应用和移动设备应用开发。长期从事计算机相关课程的教学和课题研究,发篇了多篇计算机方面的论文,并出版了多部计算机类图书。
  魏彩娟,毕业于解放军信息工程大学网络工程专业。现就职于河南牧业经济学院,从事计算机相关课程的教学工作。对iOS和Android移动开发技术有浓厚的兴趣,并有深入的研究。
  刘媛媛,软件工程师。现就职于某知名IT公司的移动项目部,担任iOS开发技术研究员。擅长iOS移动开发技术,长期从事iOS新技术和可穿戴设备的研究。参与过多个移动项目的开发,积累了丰富的开发经验。编写并出版了《Swift入门很简单》、《XamariniOS移动开发实战》和《Swift游戏开发案例实战》等图书。     
目录
   第1章  图形图像(一)
实例1  图片浏览器
实例2  疯狂成语
实例3  猜老猫
实例4  图片编辑器
实例5  湖中倒影
实例6  颈部运动
实例7  翻翻看
实例8  节气歌
实例9  行走的青蛙
实例10  变脸
实例11  阴影的变化
实例12  字体下载
实例13  迷雾重重
实例14  重见天日
实例15  眼力测试
实例16  变化的方阵
实例17  调色板
实例18  量尺
实例19  一笔画解答
实例20  公主逃亡记
第2章  图形图像(二)
实例21  简易相框
实例22  图像滤镜
实例23  图像的点击放大
实例24  万花筒
实例25  浏览商品图片
实例26  具有放大镜的图像
实例27  照片墙
实例28  图像对比
实例29  刮刮卡
实例30  GIF图像的显示
实例31  评分控件
实例32  图像的多点点击
实例33  裁剪图像
实例34  图像主要颜色的提取
实例35  动物连连看
实例36  人脸识别
实例37  逐层刷新图像
实例38  涂鸦
实例39  图像的3D效果浏览
第3章  图表
实例40  饼状图
实例41  柱状图
实例42  折线图
实例43  波形图
实例44  油量表
第4章  动画
实例45  飘落的雪花
实例46  自动旋转的太极
实例47  礼花效果
实例48  物理引擎——掉落的蘑菇
实例49  物理引擎——橡皮筋
实例50  吃豆豆
实例51  打砖块
实例52  碰撞的火球
实例53  旋转的滚珠
实例54  永不消失的电波
实例55  牛顿摆
实例56  摇骰子
实例57  计数器
实例58  网格动画
实例59  钟表
实例60  点赞的效果
第5章  网页视图
实例61  紧急求救中心
实例62  常用网址大全
实例63  改变网页视图中字体的大小
实例64  网页视图的背景透明化
实例65  网页的下拉刷新
实例66  天气预报
实例67  城市地理信息查询
实例68  滑动网页时,隐藏工具栏
实例69  网页浏览器
第6章  地图
实例70  地图切换器
实例71  温度带换算器
实例72  地图导航
实例73  位置跟踪器
实例74  指南针
实例75  驴友历程
实例76  地图的位置查找
实例77  3D地图
实例78  旋转的地图
实例79  行车路线导航
实例80  时区换算器
实例81  自定义地图的标注
实例82  自定义的地图
第7章  音频和视频
实例83  小钢琴
实例84  手机铃声变化器
实例85  十种语言
实例86  播放歌曲的同时显示歌词
实例87  录音机
实例88  获取系统中所有的音频文件
实例89  讯飞识别
实例90  音乐播放器
实例91  视频播放器
第8章  内置的应用程序
实例92  工作日计算器
实例93  短信发送
实例94  日历
实例95  添加录
第9章  触摸和手势
实例96  打地鼠
实例97  人鱼公主换发记
实例98  被挤扁的气球
实例99  撕裂图像
实例100  一个手指实现缩放
实例101  仿小米手机的解锁功能
实例102  QQ的解锁功能
实例103  拖动选择图片墙
第10章  照片库与相机
实例104  更改应用程序的背景
实例105  自定义相机
实例106  狙击枪
实例107  水印相机
实例108  QQ聊天视频效果
实例109  iOS 7手电筒实现
实例110  三连拍
实例111  条形码/二维码的扫描
实例112  魔术
实例113  录像机
第11章  传感器
实例114  手机水平放置的测试
实例115  加速的小球
实例116  摇一摇音乐播放器
实例117  根据手机转动显示图像
第12章  网络
实例118  手机号码查询
实例119  在Safari中打开URL
实例120  后台下载测试
实例121  图像下载队列控制器      
前言/序言
     移动应用开发是现在IT开发的热点。由于苹果提供了完备的开发工具和成熟的软件盈利方式,苹果的iOS开发成为热点中的热点。苹果开发技术较为封闭,尤其是相对于开源技术Android开发。同时由于移动开发发展时间较短,导致开发资料相对匮乏,开发者往往缺乏应用指导性资料。
  笔者结合自己多年的iOS开发经验和心得体会,花费了一年多的时间分析了iOS开发中常见的几百个应用场景,并进行了精心整理,挑选了最为典型的238个iOS开发实例,编写成了《iOS开发范例实战宝典》(分为基础篇和进阶篇两个分册)。
  本书为《iOS开发范例实战宝典(进阶篇)》,包含了121个经典实例,涉及iOS开发中较为深入的12个应用开发专题。希望各位读者能在本书的引领下跨入iOS开发的大门,并成为一名开发高手。
  本书特色
  1.实例丰富,代码精讲
  本书详细讲解了121个iOS开发经典实例,并对重点代码做了大量注释和讲解,以便于读者更加轻松地学习。通过对这些实例的演练,读者可以快速提高开发水平。
  2.内容全面,涵盖广泛
  本书全面介绍了iOS开发中最为常见的12类应用开发模块,包括图形、图像、图表、动画、网页视图、地图、音频、视频、内置应用程序、触摸、手势、照片库、相机、传感器、网络。这些内容是iOS开发必知必会的内容,需要读者重点掌握。
  2.讲解详细,循序渐进
  本书中的每个实例都给出了详细的分析过程和实现步骤,书中的每个实例都按照“实现原理-->实现过程-->重点代码”3个步骤进行分析。对于复杂的实例,还给出了完备的流程图帮助读者理解实例的工作机制,掌握起来更加容易。
  4.专注核心,举一反三
  为了在有限的篇幅内讲解更多的开发实例,在本书中只给出了每个实例的核心代码及分析。完整的实例代码读者可以自己阅读,并进行测试和练习,而且还可以对这些代码进行改造,以用于实际的开发之中,从而起到举一反三的作用。
  本书内容及体系结构
  第1章  图形图像(一)
  本章20个实例,主要内容包括:图片浏览器、疯狂成语、猜老猫、图片编辑器、湖中倒影、颈部运动、翻翻看等内容。通过本章的学习,读者可以掌握关于图形图像的一些常见技术与应用。
  第2章  图形图像(二)
  本章19个实例,主要内容包括:简易相框、图像滤镜、图像的点击放大、万花筒、浏览商品图片、具有放大镜的图像、照片墙等内容。通过本章的学习,读者可以进一步掌握关于图形图像的一些常见技术与应用。
  第3章  图表
  本章5个实例,主要内容包括:饼状图、柱状图、折线图、波形图、油量表。通过本章的学习,读者可以掌握关于图表的一些常见技术与应用。
  第4章  动画
  本章16个实例,主要内容包括:飘落的雪花、自动旋转的太极、礼花效果、物理引擎——掉落的蘑菇、物理引擎——橡皮筋、吃豆豆、打砖块、碰撞的火球等内容。通过本章的学习,读者可以掌握关于动画的一些常见技术与应用。
  第5章  网页视图
  本章9个实例,主要内容包括:紧急求救中心、常用网址大全、改变网页视图中字体的大小、网页视图的背景透明化、网页的下拉刷新、天气预报、城市地理信息查询、滑动网页时,隐藏工具栏、网页浏览器。通过本章的学习,读者可以掌握关于网页视图的一些常见技术与应用。
  第6章  地图
  本章13个实例,主要内容包括:地图切换器、温带换算器、地图导航、位置跟踪器、指南针、驴友历程、地图的位置查找、3D地图、旋转的地图等内容。通过本章的学习,读者可以掌握关于地图的一些常见技术与应用。
  第7章  音频和视频
  本章9个实例,主要内容包括:小钢琴、手机铃声变化器、十种语言、播放歌曲的同时显示歌词、录音机、获取系统中所有的音频文件、讯飞识别、音乐播放器、视频播放器。通过本章的学习,读者可以掌握关于音频和视频的一些常见技术与应用。
  第8章  内置的应用程序
  本章4个实例,主要内容包括:工作日计算器、短信发送、日历、添加录。通过本章的学习,读者可以掌握关于iOS内置的应用程序的一些常见技术与应用。
  第9章  触摸和手势
  本章8个实例,主要内容包括:打地鼠、人鱼公主换发记、被挤扁的气球、撕裂图像、一个手指实现缩放、仿小米手机的解锁功能、QQ的解锁功能、拖动选择图片墙。通过本章的学习,读者可以掌握关于触摸和手势的一些常见技术与应用。
  第10章  照片库与相机
  本章10个实例,主要内容包括:更改应用程序的背景、自定义相机、狙击枪、水印相机、QQ聊天视频效果、iOS 7手电筒实现、三连拍等内容。通过本章的学习,读者可以掌握关于照片库和相机的一些常见技术与应用。
  第11章  传感器
  本章4个实例,主要内容包括:手机水平放置的测试、加速的小球、摇一摇音乐播放器、根据手机转动显示图像。通过本章的学习,读者可以掌握关于传感器的一些常见技术与应用。
  第12章  网络
  本章4个实例,主要内容包括:手机号码查询、在Safari中打开URL、后台下载测试、图像下载队列控制器。通过本章的学习,读者可以掌握关于网络的一些常见技术与应用。
  本书读者对象
  * 想全面学习iOS开发技术的人员;
  * iOS专业开发人员;
  * iOS开发爱好者;
  * 大中专院校的学生;
  * 社会培训班学员;
  * 需要一本案头必备手册的程序员。
  本书配套资源获取方式
  本书提供以下的配套资源:
  * 本书开发环境;
  * 本书实例源代码。
  为了节省读者的购书开支,本书放弃以配书光盘的方式提供这些资源,而是采用提供下载的方式。读者可以登录清华大学出版社网站(www.tup.com.cn),搜索到本书页面,然后按照提示下载,也可以在本书服务网站的相关版块上下载这些配套资源。
  本书售后服务方式
  编程学习的最佳方式是共同学习。但是由于实际环境所限,大部分读者都是独自前行。为了便于读者更好地学习iOS语言,我们构建了多样的学习环境,力图打造立体化的学习方式,除了对内容精雕细琢之外,还提供了完善的学习交流和沟通方式。主要有以下几种方式:
  * 提供技术论坛,读者可以将学习过程中遇到的问题发布到论坛上以获得帮助。
  * 提供QQ交流群,读者申请加入该群后便可以和作者及广大读者交流学习心得,解决学习中遇到的各种问题。
  * 提供服务邮箱,读者可以将自己的疑问发电子邮件以获取帮助。
  虽然笔者对本书中所述内容都尽量核实,并多次进行文字校对,但因时间所限,可能还存在疏漏和不足之处,恳请读者批评指正。
  编者    
				
 
				
				
					《SwiftUI 精通指南:构建现代原生体验》  前言  随着 Apple 生态的飞速发展,移动应用开发领域也迎来了前所未有的变革。SwiftUI 的出现,为开发者构建美观、响应迅速的 iOS、macOS、watchOS 和 tvOS 应用提供了一种全新的、声明式的方式。相较于 UIKit,SwiftUI 极大地简化了 UI 开发流程,降低了学习门槛,并带来了更高的开发效率和代码可维护性。  然而,对于许多已经熟悉 UIKit 的开发者而言,从命令式编程转向声明式范式,以及深入理解 SwiftUI 的核心概念和最佳实践,仍然充满挑战。许多开发者在掌握了 SwiftUI 的基础语法后,往往会遇到瓶颈,无法充分发挥 SwiftUI 的潜力,导致应用在性能、交互性、可访问性等方面未能达到最佳状态。  本书《SwiftUI 精通指南:构建现代原生体验》正是为希望在 SwiftUI 开发领域更进一步的开发者量身打造。我们不满足于仅仅掌握 SwiftUI 的表面语法,而是致力于深入剖析其底层原理,探索高级特性,并提供大量经过实战检验的解决方案,帮助读者成为真正的 SwiftUI 精通者。本书将带领你从容应对复杂的 UI 布局、动画效果、数据管理、跨平台开发等难题,让你能够自信地构建出在各个 Apple 平台上表现卓越的现代化原生应用。  本书内容概览  本书将循序渐进地引导你深入探索 SwiftUI 的核心机制和高级应用。我们将从对 SwiftUI 核心概念的深度理解开始,逐步深入到实际开发中遇到的各种挑战,并提供行之有效的解决方案。  第一部分:SwiftUI 核心机制深度解析     声明式 UI 的哲学与实践:        深入理解“声明式”的含义,以及它如何改变传统的 UI 开发模式。        SwiftUI 的状态管理机制:`@State`, `@Binding`, `@ObservedObject`, `@StateObject`, `@EnvironmentObject` 的精妙之处与适用场景。我们将通过具体的代码示例,演示如何有效地管理应用状态,避免数据不一致和 UI 渲染问题。        SwiftUI 的视图生命周期:理解视图的创建、更新和销毁过程,并学习如何利用生命周期钩子实现更精细的控制。        视图的更新机制:探索 SwiftUI 是如何高效地更新 UI 的,以及如何优化视图更新以提升性能。我们将分析视图图(View Graph)的概念,以及 SwiftUI 的 diffing 算法。        布局系统解析:深入理解 SwiftUI 的 HStack, VStack, ZStack, Spacer, Divider, Padding 等布局容器的底层工作原理,以及 `GeometryReader` 的强大功能。我们将探讨如何构建复杂的、自适应的布局。        修饰符(Modifiers)的艺术:理解修饰符如何构成 SwiftUI 的声明式语法,并学习如何组合和创建自定义修饰符,以实现代码的复用和可读性。     SwiftUI 与 UIKit/AppKit 的无缝集成:        在 SwiftUI 中使用 UIKit/AppKit 组件:掌握 `UIViewRepresentable` 和 `UIViewControllerRepresentable` 的使用技巧,将现有的 UIKit/AppKit 代码无缝集成到 SwiftUI 项目中,充分利用成熟的第三方库和原生控件。        在 UIKit/AppKit 中使用 SwiftUI 视图:学习如何将 SwiftUI 视图嵌入到 UIKit/AppKit 应用中,实现新旧技术的混合开发,平滑过渡到 SwiftUI。        数据如何在 SwiftUI 和 UIKit/AppKit 之间双向传递:探讨数据绑定和回调机制,确保不同 UI 框架之间的数据同步。  第二部分:高级 UI 与交互设计     响应式布局与自适应设计:        利用 SwiftUI 的尺寸提案(Size Proposals)构建灵活的布局。        响应不同屏幕尺寸和设备方向的设计模式。        使用 `GeometryReader` 实现复杂的、动态的布局计算。        设计适用于 iPadOS 分屏、macOS 窗口的自适应界面。     精美的动画与过渡效果:        `withAnimation` 的高级用法:理解动画的插值、曲线和延迟,实现平滑自然的动画效果。        自定义过渡动画:探索 `matchedGeometryEffect`,`hero animations` 的实现方式,以及如何创建独特的视图切换效果。        基于手势的动画:将手势识别器(如 `DragGesture`, `TapGesture`, `LongPressGesture`)与动画相结合,创造富有交互性的动态界面。        `Animatable` 协议的应用:学习如何使自定义图形和属性支持动画。     高级控件与自定义视图:        深入理解 `List` 和 `Form` 的性能优化和高级用法,包括分组、滚动定位、编辑模式等。        `ScrollViewReader` 的强大功能:实现滚动到特定位置,以及结合其他手势创建复杂的滚动交互。        `TabView` 和 `NavigationView` 的进阶应用:构建多页面导航和标签栏,处理复杂的导航逻辑。        创建可复用的自定义视图组件,提升开发效率和代码一致性。        利用 `Shape` 和 `Path` 构建复杂的自定义图形,并为其添加动画。  第三部分:数据管理与网络通信     SwiftUI 数据持久化方案:        `@AppStorage` 与 `UserDefaults`:轻松保存简单的用户偏好设置。        Core Data 在 SwiftUI 中的集成:学习如何使用 SwiftUI 友好的 Core Data API,管理复杂的数据模型,并实现数据的增删改查。        Realm 数据库的集成:探索 Realm 作为一个轻量级、高性能的移动数据库,在 SwiftUI 项目中的应用。        文件系统操作:学习如何安全地读取和写入本地文件。     高效的网络请求与数据同步:        `URLSession` 与 SwiftUI 的结合:使用 `async/await` 风格编写网络请求,处理 JSON 解析,并在 SwiftUI 中更新 UI。        实现数据缓存策略,提升网络请求的性能和用户体验。        结合 Combine 框架处理异步数据流,实现更优雅的网络请求管理。        使用 `Codable` 协议进行高效的数据编码与解码。        错误处理与重试机制:构建健壮的网络通信,应对各种异常情况。  第四部分:跨平台与高级主题     SwiftUI 的跨平台开发实践:        构建适用于 iOS, macOS, watchOS, tvOS 的通用 SwiftUI 应用。        理解不同平台 UI 元素的差异与适配。        利用条件编译(Conditional Compilation)处理平台特有的逻辑。        macOS 应用开发:窗口管理、菜单栏、快捷键等。        watchOS 应用开发:表盘、复杂性、远程通知等。     可访问性(Accessibility)的实现:        利用 SwiftUI 的内置可访问性 API,确保应用对所有用户友好。        为元素添加描述、标签和提示。        实现动态类型(Dynamic Type)的支持,适应用户字体大小设置。        语音辅助(VoiceOver)的优化。     测试与调试技巧:        SwiftUI 视图的单元测试与 UI 测试。        利用 Xcode 的调试工具,如视图调试器、性能分析器,快速定位和解决问题。        模拟器与真机调试的区别与注意事项。     性能优化与最佳实践:        识别和解决 SwiftUI 应用中的性能瓶颈。        视图的懒加载与内存管理。        异步操作与多线程处理。        代码组织与架构模式:MVVM 在 SwiftUI 中的应用。  本书的目标读者  本书的目标读者是已经具备一定 iOS 开发基础,熟悉 Swift 语言,并对 SwiftUI 有初步了解的开发者。无论您是希望从 UIKit 迁移到 SwiftUI,还是希望在 SwiftUI 开发中更进一步,解决实际开发中遇到的复杂问题,本书都将为您提供宝贵的指导和实用的解决方案。  结语  SwiftUI 是 Apple 未来 UI 开发的主流方向,掌握 SwiftUI 的精髓,将极大地提升您的开发效率,并帮助您构建出更具竞争力的应用。本书《SwiftUI 精通指南:构建现代原生体验》将陪伴您深入探索 SwiftUI 的广阔天地,助您成为一名卓越的 SwiftUI 开发者,引领您踏上构建下一代 Apple 平台应用的精彩旅程。