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. web开发,关于jsp的常见问题,重复提交,防止后退。

    看了网上的,有几种方法:1 在你的表单页里HEAD区加入这段代码: <META HTTP-EQUIV="pragma" CONTENT="no-cache" ...

  2. andriod一次退出所有的Activity

    自己实现了一个Activity管理,可以实现一次退出所有的Activity.在Activity启动的时候,将调用里面的put方法,将Activity对象加入进来.在要退出某个activity的时候,将 ...

  3. Android 开发技巧 - Android 6.0 以上权限大坑和权限检查基类封装

    简单介绍 关于运行时权限的说法,早在Google发布android 6.0的时候,大家也听得蛮多的.从用户的角度来讲,用户是受益方,更好的保护用户的意思,而对于开发者来说,无疑增加了工作量. 对于6. ...

  4. xmpp的bug

    [微分享]:事前必三思,事中要坚韧,事后莫悔恨,只有眼光看远些,脚步坚实些,人生方多些圆满,少些遗憾. xmpp的bug

  5. eclipse svn设置忽略文件

  6. Eclipse的各种快捷键

     参考他人总结好的 Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了)     ---->例如:add unimplement methodCtrl+D:  ...

  7. php 租房子练习

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. CLR via C#(15)--String,熟悉而又陌生

    好久没写文章了,再拿起这本书,学习加分享,乐趣无穷啊.这两天看了写关于字符串的知识,从学写代码的时候开始,我们就基本天天跟String打交道,对它再熟悉不过了.但是仔细看看,还是有一种拨开云雾的感觉, ...

  9. (编辑器)Jquery-EasyUI集合Kindeditor编辑器

    1.在html里面添加 list.html list.html (function ($, K) { if (!K) throw "KindEditor未定义!"; functio ...

  10. MVC - 18.缓存

    1.使用输出缓存 (不灵活,问题比较多,不建议使用) /// <summary> /// datagrid列表 /// </summary> /// <returns&g ...