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. 25个增强iOS应用程序性能的提示和技巧--中级篇

    25个增强iOS应用程序性能的提示和技巧--中级篇 标签: ios性能优化内存管理 2013-12-13 10:55 738人阅读 评论(0) 收藏 举报  分类: IPhone开发高级系列(34)  ...

  2. [Android Pro] proguard

    -optimizationpasses 5 # 指定代码的压缩级别 -dontusemixedcaseclassnames # 是否使用大小写混合 -dontskipnonpubliclibraryc ...

  3. 在R语言中无法设置CRAN镜像问题

    很大的可能是因为使用的浏览器不是IE浏览器的问题,因为CRAN的镜像需要用IE浏览器来打开. 只需要按照下面设置即可: 1.打开IE-->设置-->Internet选项-->高级 2 ...

  4. ios 弹出键盘 视图向上平移

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardwillAppear:) name:U ...

  5. Spring 注释 @Autowired 和@Resource

    一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired属于Spring的:@Resource为JSR-250标准的注释,属于J ...

  6. python 中内存映射二进制文件

    内存映射一个文件并不会导致整个文件被读取到内存中. 也就是说,文件并没有被复制到内存缓存或数组中.相反,操作系统仅仅为文件内容保留了一段虚拟内存. 当你访问文件的不同区域时,这些区域的内容才根据需要被 ...

  7. CLR via C#(03)- 对象创建和类型转换

    一. 创建对象 CLR要求用new操作符创建对象,这个操作符在编译时产生的IL指令为newobj.例如: Student XiaoJing=new Student(“XiaoJing”,”1986”) ...

  8. jquery文件上传控件 Uploadify 问题记录

    Uploadify v3.2.1 首先引用下面的文件 <!--上传控件 uploadify--> <script type="text/javascript" s ...

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

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

  10. elementar OS体验

    关于其说明请参考https://linuxtoy.org/archives/elementary-os-luna.html