书刊介绍
《7天玩转iOS界面开发》内容简介
《7天玩转iOS界面开发》是一套系统的iOS UI开发教程,基本涵盖iOS开发中所用到的全部系统UI控件,在详细讲解基础运用的基础上,更深层次地分析了高级用法,为有编程基础但不是iOS开发者的程序员转iOS开发提供了便捷的学习路径。同样,对于没有开发基础,但有Objective-C基础的读者而言,也是一套很好的使用教程。
《7天玩转iOS界面开发》适合的读者有: 1.转iOS开发的其他软件开发者。
2.有语法基础的iOS开发学习者。
3.想更深入理解iOS UI开发的开发者。
张益珲:唯品会iOS开发工程师,在良师益友网、麦子学院任职iOS高级讲师,录制iOS教学课程6套,涵盖语法基础、UI基础、实战演练等各个方面。在开源中国的技术博客日访问量达到3000,总访问量达35W,涵盖技术类原创文章200余篇。作品目录
前言
第1天
iOS基础UI控件(上)
1.1、承载文字的精灵——UILabel
1.1.1、创建第一个iOS项目Hello
World
1.1.2、使用代码重建Hello
World项目
1.1.3、iOS系统中的UI坐标系
1.1.4、UILabel的相关属性设置
1.1.5、多行UILabel控件与换行模式
1.2、最简单的交互控件——UIButton
1.2.1、在屏幕上创建一个UIButton控件
1.2.2、UIButton控件的交互状态
1.2.3、UIButton类中可以自定义的一些常用属性
1.2.4、为UIButton对象添加触发方法
1.3、专业显示图片的控件——UIImageView
1.3.1、使用UIImageView在屏幕上创建一个图片元素
1.3.2、连续变换播放的图片形成动画——UIImageView的帧动画
1.4、搜索框控件——UISearchBar
1.4.1、添加一个搜索框控件
1.4.2、UISearchBar中常用属性的用法
1.4.3、UISearchBar的扩展栏
1.4.4、UISearchBar的代理方法
1.5、简洁小巧的切换控件——UISegmentedControl
1.5.1、创建和初始化UISegmentedControl对象
1.5.2、UISegmentedControl中的常用属性与方法
1.5.3、UISegmmentedControl中切换模块按钮的增、删、改以及布局操作
1.5.4、为UISementedControl控件对象添加触发方法
1.6、文本输入交互的基础——UITextField
1.6.1、搭建一个用户登录界面
1.6.2、为UITextField添加挂件
1.6.3、监听用户的输入操作
1.6.4、收键盘操作
1.7、连续变化的美——UISlider
1.7.1、通过滑块控件控制视图的颜色渐变
1.7.2、UISlider中常用的可自定义属性
第2天
基础UI控件(下)
2.1、简洁小巧的开关控件——UISwitch
2.1.1、创建一个UISwitch控件
2.1.2、UISwitch控件中常用属性解析
2.1.3、为UISwitch控件添加触发方法
2.2、让等待不再寂寞——UIActivityIndicatorView
2.2.1、在视图上创建一个UIActivityIndicatorView控件
2.2.2、设计一个全局共享的活动指示器控件
2.3、扁平化风格的进度条——UIProgressView
2.4、分页控制器——UIPageControl
2.5、步进控制器——UIStepper
2.5.1、创建一个步进控制器控件
2.5.2、为UIStepper控件添加图片修饰
2.6、警告框视图——UIAlertView
2.6.1、在视图上弹出一个警告框
2.6.2、UIAlertView的代理方法
2.7、活动列表——UIActionSheet
2.7.1、在视图上弹出一个UIActionSheet控件
2.7.2、UIActionSheet控件的代理方法
2.8、统一的警告控制器——UIAlertController
2.8.1、关于UIAlertAction类
2.8.2、使用UIAlertController创建警告框和活动列表
2.8.3、为警告框风格的UIAlertController添加文本输入框
第3天
高级UI控件
3.1、自由移动的视图——UIScrollView
3.1.1、创建一个UIScrollView控件来展示大图片
3.1.2、UIScrollView中常用方法与属性解析
3.1.3、UIScrollViewDelegate协议中的方法
3.1.4、关于UIScrollView的缩放操作
3.2、基础的表格视图——UITableView
3.2.1、使用表格视图展示列表数据
3.2.2、UITableView中数据载体cell的复用机制
3.2.3、数据载体UITableViewCell
3.2.4、UITableView的编辑模式
3.2.5、UITableView的头视图与尾视图
3.2.6、为UITableView添加索引栏
3.3、高级文本视图——UITextView
3.3.1、创建一个UITextView控件
3.3.2、UITextView中的常用属性与方法
3.3.3、UITextViewDelegate协议中的常用方法
3.4、高级集合布局视图——UICollectionView
3.4.1、UICollectionView控件的优势与布局方式
3.4.2、使用UICollectionView进行九宫格式的布局
3.4.3、创建更加灵活的流式布局
3.4.4、参差瀑布流布局
3.4.5、使用UICollectionView进行圆环布局
3.5、选择器控件——UIPickerView
3.5.1、创建一个UIPickerView控件
3.5.2、UIPickerView选中数据时的回调代理
3.6、时间选择器——UIDatePicker
3.7、网页视图与iOS原生视图的完美结合——UIWebView
3.7.1、APP网络传输安全策略
3.7.2、通过网络请求加载UIWebView
3.7.3、通过HTML字符串加载UIWebView
3.7.4、通过NSData数据加载UIWebView
3.7.5、UIWebView中常用方法解析
3.7.6、UIWebView的代理方法
第4天
视图与逻辑的管理者
4.1、基础的视图控制器——UIViewController
4.1.1、UIViewController的生命周期
4.1.2、UIViewController的视图层级结构
4.1.3、UIViewController的切换跳转
4.2、表格视图控制器——UITableViewController
4.2.1、自定义一个UITableViewController
4.2.2、UITableViewController自带的下拉刷新控件
4.3、导航控制器——UINavigationController
4.3.1、导航控制器的工作原理
4.3.2、使用导航控制器进行多界面搭建
4.3.3、关于导航栏UINavigationBar
4.3.4、导航按钮UIBarButtonItem
4.3.5、导航控制器的工具栏
4.3.6、iOS
8之后导航控制器的一些有趣功能
4.4、标签控制器——UITabBarController
4.4.1、标签控制器的工作原理
4.4.2、标签控制器的基础用法解析
4.4.3、UITabBarItem的使用
第5天
iOS动画开发基础
5.1、UIView层动画的应用
5.1.1、执行UIView层过渡动画的三个类方法
5.1.2、创建UIView层的阻尼动画
5.1.3、动画参数配置与组合动画
5.1.4、UIView层过渡动画支持的属性
5.2、UIView层动画的另一种创建方式
5.2.1、使用commit方式进行UIView层过渡动画的创建
5.2.2、两种UIView层动画创建方式的优劣
5.3、UIView的转场动画
5.3.1、重绘UIView视图时使用的转场动画
5.3.2、切换UIView视图时使用的转场动画
5.4、核心动画编程技术——CoreAnimation
5.4.1、锚点对视图控件几何位置的影响
5.4.2、色彩梯度层——CAGradientLayer
5.4.3、视图备份层——CAReplicatorLayer
5.4.4、图形渲染层——CAShapeLayer
5.4.5、文本绘制层——CATextLayer
5.4.6、CAAnimation动画体系介绍
5.4.7、使用CABasicAnimation创建基础动画
5.4.8、使用CAKeyframeAnimation类创建关键帧动画
5.4.9、CALayer层的转场动画——CATransition
5.4.10、CALayer层的组合动画——CAAnimationGroup
5.4.11、CATransform3D变换的应用
5.5、炫酷的粒子效果
5.5.1、粒子发射器——CAEmitterLayer
5.5.2、粒子单元——CAEmitterCell
5.5.3、创建粒子火焰动画
5.6、播放GIF动态图
5.6.1、使用UIWebView进行GIF动态图播放
5.6.2、使用UIImageView帧动画进行GIF动态图播放
第6天
iOS界面布局
6.1、传统的UIViewAutoresizing布局模式
6.1.1、通过代码来设置视图控件的UIViewAutoresizing模式
6.1.2、可视化地配置控件的autoresizing属性
6.2、autolayout自动布局框架
6.2.1、初识autolayout
6.2.2、autolayout的属性意义与一个简单的自动布局示例
6.2.3、使用Objective-C风格的方法进行代码autolayout布局
6.2.4、使用格式化的字符进行autolayout布局对象的创建
6.2.5、管理约束相关的几个方法
6.2.6、使用autolayout设计一个高度自适应的聊天输入框及动画优化
6.2.7、使用第三方库Masonry进行autolayout约束布局
第7天
iOS界面开发扩展知识
7.1、调用系统拨号与短信息应用
7.1.1、跳转到系统拨号应用界面
7.1.2、跳转到系统短消息界面
7.2、iOS视频播放技术
7.2.1、向应用中嵌入视频模块
7.2.2、MPMoviePlayerController常用属性与方法解析
7.3、视频播放器视图控制器——MPMoviePlayerViewController
7.4、AVPlayerViewController视频播放框架与画中画开发技术
7.4.1、使用AVPlayerViewController进行视频播放
7.4.2、iPad上的画中画播放技术
7.5、翻书效果的阅读器视图——UIPageViewController
7.5.1、创建UIPageViewController视图控制器
7.5.2、双翻页效果的UIPageViewController
7.6、更加灵活地创建标签文字——NSAttributedString的应用
7.6.1、NSAttributedString类简介
7.6.2、可变的属性字符串NSMutableAttributedString
7.7、毛玻璃效果的应用——界面模糊处理
7.8、iOS地图视图编程技术
7.8.1、进行设备地理位置定位
7.8.2、原生地图开发技术
7.8.3、在地图中添加大头针及标注
7.8.4、在地图视图中添加覆盖物
7.8.5、在地图中进行线路导航与附近兴趣点检索