iOS10 UI设计基础教程

介绍:本教程针对iOS初级开发人员,基于iOS 10系统,使用Swift 3.0语言讲解如何进行UI设计。本教程内容涵盖UI基础构成、UI元素、自动布局、自适应UI、UI动画、UI交互和定制空控件等内容。

目  录
第1章  UI基础 1
1.1  窗口 1
1.1.1  窗口的内容 1
1.1.2  设置起始窗口 1
1.1.3  窗口的工作方式 3
1.2  视图 4
1.2.1  改变视图的外观 4
1.2.2  视图的可见性 4
1.2.3  禁用视图与用户的交互 5
1.2.4  视图的几何形状 6
1.2.5  视图的边界 7
1.2.6  视图的框架 7
1.2.7  视图的中心位置 9
1.3  UI层次结构和Views继承 11
1.3.1  子视图和父视图 11
1.3.2  管理层次结构 12
1.3.3  视图和子视图的可见性 15
1.3.4  层次结构的事件 17
1.3.5  视图调试 18
1.3.6  视图的绘制 22
1.3.7  视图控制器和视图 23
1.3.8  视图的生命周期 23
第2章  UI组件概述——UIKit 27
2.1  文本元素 27
2.1.1  显示文本——普通文本/格式化文本 27
2.1.2  改变文本的外貌 29
2.1.3  单行截断 30
2.1.4  多行文本 31
2.1.5  文本的固定宽度 32
2.1.6  修改文本字体 33
2.1.7  接收用户输入的响应流程 35
2.1.8  用户手动设置输入的文本的格式 35
2.1.9  提示 36
2.1.10  边框样式 40
2.1.11  监听输入 41
2.2  大量文本显示 43
2.2.1  禁用选择 43
2.2.2  自动识别 43
2.2.3  识别类型 44
2.2.4  图文混排 45
2.3  键盘 47
2.3.1  键盘通知 47
2.3.2  键盘输入类型 47
2.4  按钮与选择 52
2.4.1  按钮与用户交互 52
2.4.2  开关选择 54
2.4.3  非精准值的选择 55
2.4.4  多选一 56
2.4.5  精确选择值 60
2.4.6  步进控制 61
2.5  进度条和状态提示 64
2.5.1  进度条 64
2.5.2  状态提示 65
2.6  图像 66
2.6.1  图像视图支持的图像格式 66
2.6.2  让图像适用于多个屏幕 66
2.6.3  图像渲染 68
2.6.4  图像的拉伸 70
2.7  滚动显示 72
2.7.1  滚动视图的组成 73
2.7.2  滚动视图的功能 73
2.7.3  对滚动视图的设置 73
2.7.4  拦截与用户交互时的信息 73
2.7.5  手势缩放 74
2.8  管理和显示结构化数据 75
2.8.1  单列数据 75
2.8.2  多列数据 77
2.9  界面批量定制 82
第3章  自动布局 84
3.1  自动布局的实现方式 84
3.2  构建约束 84
3.2.1  创建一个约束——Ctrl + Drag 84
3.2.2  创建一个约束——Auto Layout Menu自动布局功能按钮 86
3.2.3  查看约束 89
3.2.4  验证约束的正确性 90
3.3  重置约束 91
3.4  内置内容尺寸 93
3.5  屏幕大小自适应 97
3.5.1  考虑因素 97
3.5.2  位置约束 99
3.5.3  大小约束 104
3.6  通过代码更新约束 105
3.7  使用VFL实现自动布局 108
3.7.1  VFL介绍 108
3.7.2  初始化视图 110
3.7.3  添加约束数组 111
3.7.4  设置多个视图 113
3.7.5  视图之间的关系 114
第4章  自适应UI 117
4.1  Size Classes介绍 117
4.2  UI Trait 120
4.2.1  Trait集合和环境 120
4.2.2  使用Trait集合 120
4.3  使用Size Classes构建布局 121
4.3.1  构建布局 121
4.3.2  显示效果 125
4.3.3  使用Image Assets 126
4.4  iOS动态字体 129
4.4.1  配置文本尺寸 129
4.4.2  文本样式 131
4.5  使用UIStackView 133
4.5.1  创建UIStackView 133
4.5.2  UIStackView相关属性 134
4.5.3  实现自适应布局 136
第5章  图层和核心动画 138
5.1  图层 138
5.1.1  图层和视图 138
5.1.2  创建图层 138
5.1.3  图层的几何外观 143
5.1.4  图层的层次结构 145
5.1.5  图层的外观 148
5.2  使用核心动画 151
5.2.1  图层和动画 152
5.2.2  隐式动画 152
5.2.3  基本动画 155
5.2.4  组合动画 158
5.2.5  关键帧动画 160
5.2.6  转场动画 161
5.2.7  移除动画 162
5.2.8  视图动画 163
第6章  UI交互——触摸与手势 164
6.1  事件和触摸 164
6.1.1  触摸阶段 165
6.1.2  UITouch类 165
6.1.3  事件传递 166
6.2  响应者链 166
6.2.1  Hit-testing 167
6.2.2  响应触摸事件 168
6.3  手势和手势识别器 168
6.3.1  使用手势识别器 169
6.3.2  手势识别器状态 170
第7章  构建自定义控件 172
7.1  为什么要设计自定义控件 172
7.2  UIControl类 172
7.3  使用UIControl类制作一个温度控制器 173
7.3.1  初始化控件 174
7.3.2  绘制控件 175
7.3.3  更新控件的值 176
7.3.4  触摸跟踪 178
7.3.5  将控件显示在界面中 180
7.4  发送发作 180
7.5  使用UIAppearance自定义控件 181

iOS10 UI设计基础教程的更多相关文章

  1. iOS10 UI教程视图的生命周期

    iOS10 UI教程视图的生命周期 说到视图的生命周期一般都是指视图控制器的视图生命周期.在视图的声明周期中最主要的有8个方法,分别为loadView().viewDidLoad().viewWill ...

  2. iOS10 UI教程视图的绘制与视图控制器和视图

    iOS10 UI教程视图的绘制与视图控制器和视图 iOS10 UI视图的绘制 iOS10 UI教程视图的绘制与视图控制器和视图,在iOS中,有很多的绘图应用.这些应用大多是在UIView上进行绘制的. ...

  3. iOS10 UI教程视图调试

    iOS10 UI教程视图调试 iOS10 UI教程视图调试,当视图很复杂的时候,层次结构就不会很简单了.Xcode可以通过视图(View)调试帮助开发者解决层次结构复杂的问题.视图调试是在Xcode ...

  4. iOS10 UI教程层次结构的事件

    iOS10 UI教程层次结构的事件 iOS10 UI教程层次结构的事件,层次结构中存在7个事件,对于这些事件的介绍如表1-3所示.通过这些事件,可以监听视图,当视图在层次结构上发生变化时可以被拦截,也 ...

  5. iOS10 UI教程视图和子视图的可见性

    iOS10 UI教程视图和子视图的可见性 iOS10 UI教程视图和子视图的可见性,一个父视图可以通过clipsToBounds属性,定义子视图在边界(边界就是父视图的框架也就是父视图可以显示的范围) ...

  6. iOS10 UI教程管理层次结构

    iOS10 UI教程管理层次结构 iOS10 UI教程管理层次结构,在一个应用程序中,如果存在多个层次结构,就需要对这些层次结构进行管理.在UIView类中提供了可以用来管理层次结构的方法,让开发者可 ...

  7. iOS10 UI教程子视图和父视图UI层次结构和Views继承

    iOS10 UI教程子视图和父视图UI层次结构和Views继承 iOS10 UI教程子视图和父视图UI层次结构和Views继承,本节将讲解与UI层次结构和Views继承相关的内容,其中包括子视图和父视 ...

  8. iOS10 UI教程视图的中心位置

    iOS10 UI教程视图的中心位置 center表示的是视图的中心位置属性,这个属性在相对的UI层次结构上工作,和frame类似.center属性是一个在父视图上定义视图的位置的简便方法.center ...

  9. iOS10 UI教程视图的边界与视图的框架

    iOS10 UI教程视图的边界与视图的框架 iOS10 UI视图的边界 在视图的几何形状中我们提到了视图属性中的一部分属性可以将定义的视图绘制在屏幕上.其中典型的3个属性为边界属性.框架属性以及中心位 ...

随机推荐

  1. php中文转换编码函数

    $filename= $list->filename; // 获取文件名字 if(preg_match("/[\x80-\xff]/",$filename)){ // 如果是 ...

  2. jquery this 与javascript的this

    <div class="list"> <table> <thead> <tr> <th width="110&quo ...

  3. UISrollView

    1.  contentOffset 默认CGPointZero,用来设置scrollView的滚动偏移量. // 设置scrollView的滚动偏移量 scrollView.contentOffset ...

  4. August 17th 2016 Week 34th Wednesday

    Life is painting a picture, not doing a sum. 生活就像是绘画,而不是做算术. I am too serious about digits. All what ...

  5. 多线线程async与await关键字

    创建线程 //这里面需要注意的是,创建Thread的实例之后,需要手动调用它的Start方法将其启动. //但是对于Task来说,StartNew和Run的同时,既会创建新的线程,并且会立即启动它. ...

  6. 设计模式学习之模板方法模式(TemplateMethod,行为型模式)(9)

    一.什么是模板方法模式 Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为. ...

  7. Linux系统启动过程分析

    [原创]Linux系统启动过程分析-wjlkoorey258-ChinaUnix博客http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过对 ...

  8. 在ubuntu上搭建开发环境4---ubuntu简单的搭建LAMP环境和配置

    最近重新安装了Ubuntu,但是之前的LAMP环境自然也就没有了,实在是不想再去编译搭建LAMP环境(这种方法实在是太费时间,而且太容易遇到各种不知道为什么的错误),所以,就去查查有没有什么简单的搭建 ...

  9. MVC中数据的内部校验

    针对MVC中实例类型的修饰,我们可以采用DataAnnotations类来完成,该类所处的命名空间是System.ComponentModel.DataAnnotations; 一.通过开类型,能够修 ...

  10. mysql5.7.11安装配置

    1.下载安装包. mysql-5.7.11版本: http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-winx64.zip 2.拷贝到任意盘: ...