1. iOS 介绍
1) 什么是 iOS? 是苹果公司的一种移动操作系统。
2) 什么是 iOS 开发工程师? iOS操作系统开发应用的工程师
2. 开发步骤
开发步骤:1>搭建软件界面;2>发送网络请求;3>网络数据解析;4>在界面上显示数据
对应知识点:1>UI ;2>多线程/网络;3>json/xml
UI开发定律:万物皆对象
3. 如何创建 iOS 项目
- 创建 iOS 项目的步骤
- Product Name含义:项目名称
- Organization Name 含义:组织名称
- Organization Identifier 含义:组织标识
- Bundle Identifier 含义:应用程序唯一标识,是由项目名称和组织标识共同组成
- Language 含义:编程语言
- Deployment Target 含义:最低适配版本
- 更换默认的启动 storyboard 文件
- Xcode 界面的基本介绍,分为四个部分:工具栏、导航栏、编辑器、实用区域
运行程序的快捷键:command + r
4. 介绍项目的文件组织方式
- 介绍创建好项目后默认生成的 group 的含义
- LaunchScreen.xib 、LaunchScreen.storyboard 的含义(用于设置程序的启动界面)
- Main.storyboard 文件含义
- Images.xcassets 含义
- 其他默认生成的项目文件的含义
- 注意: 无需要把每个文件都详细介绍,只把今天要用到的文件做详细介绍
5. 介绍设置项目中类的前缀
6. 介绍storyboard 文件的简单使用
- 如何选择控制器大小、如何选择模拟器
- 介绍Is Initial ViewController
- 介绍右侧"工具栏"中的不同功能区域的功能
* 如何拖拽子控件到控制器 View 上
* 如何设置控件位置大小等
7. 介绍模拟器的基本使用
1>simulator– Reset content and settings 模拟器重置
2>File– Save Screen Shot (command + s) 保存屏幕截图
3>Hardware(硬件) – Device 模拟器所安装的操作系统
4>Hardware(硬件) – Rotat left/right 向左向右旋转(command + 左、右)
5>Hardware(硬件) –home (command + shift + H)
6>锁屏 command +L
7>内存警告
8>慢速动画 – DebugSlow Animations
9>缩放比例 command+ 1
10>卸载软件长按某个应用程序,然后在点击左上角的小叉号
11>剪切屏幕使用:command+ shift + c
12>window– stayInfront 调整是否要保持模拟器显示在最前面
8. 加法计算器案例
8.1界面当中共包含1个按钮,2个文本输入框,3个文本标签
8.2如何让控件尺寸自适应控件,(label为例:选中控件– Editor – Size To Fit Content)
8.3 调整文本输入框的弹出的键盘类型,选中文本框,在右侧实用工具区域中选择keyBoard Type,选择:Number pad
8.4 实现计算功能三步:1>获取用户在在文本框当中输入的内容;2>对用户的的输入进行加法计算;3>把计算结果赋值给“需要显示结果的label”
9.1 storyboard(故事板) 和 scene(场景)的介绍
一个storyboard里面可以有多个scene,一个scene对应一个控制器
9.2 介绍 UIView 和 UIViewControleller 概念、关系
- UIView是iOS开发中所有控件的"祖宗类"
- 我们看到的每个界面中都包含一个和屏幕一样大的UIView, 我们看到的所有的其他内容都是在这个大的UIView中的控件
- UIView本身又是一个容器,并且所有的其他类型的控件最终都继承于UIView。
- 一个"界面"一般我们可以认为包含两部分:
1> 控制器
2> 该控制器所管理的那个和屏幕一样大小的UIView
UIViewControleller 就是一个大管家,用来管理UIView
10. "父控件"、"子控件的概念"
- 控件之间的父子类关系
- 容器概念
- 父控件和子控件概念(区分继承关系)
11. 介绍"连线"
- 如何连线
- IBAction 和 IBOutlet
- 介绍其他连线方式
1> 选中控件, 按住control键,然后拖拽到代码中
2> 代码连线到控件
3> 选中控件,右键找到对应的项,然后连线到对应的代码中
- 介绍"连线"时可能遇到的错误:
* 删掉代码中的"属性"、"方法"后连线依然存在
12. 如何收回键盘
- 文本框辞去第一响应者的方式
- 让控制器 view 结束编辑的方式
13. 简要介绍常见的控件
- UIButton
- UILabel
- 快速预览一下其他的控件,比如:UIImageView、UISwitch、UITextField等(参考 PPT)
14. 详细介绍按钮的使用(UIButton)
- 按钮的4种状态
* normal(也叫: default状态)
* highlighted
* selected
* disabled
* Focused
15. 按钮的不同样式
- Custom
- system
- Detail Disclosure
- Add Contact
- 等其他样式
16. 设置按钮文字
- 设置按钮文字内容
- 设置按钮文字颜色
- UIColor 介绍
17. UIImage 介绍
18. 设置按钮图片
- 设置按钮显示图片
- 设置按钮背景图片
19. UIKit坐标系介绍
20. 介绍控件的常见属性
// frame 属性注意点:
// 1> frame 表示: 使用控件父容器的坐标系统来描述控件的位置和大小。
// 2> frame 使用的是点坐标系
// 3.1> 修改了控件的 frame 之后, 控件会自动重新显示(但是不调用 drawRect:方法);
// 3.2> 如果希望修改了控件的 frame, 重新显示控件的时候调用drawRect:方法, 那么需要设置控件的contentMode属性值为UIViewContentModeRedraw
// 4> 当修改了控件的 transform属性后, 不要再读取(或修改)frame; 如果要修改控件的位置和大小, 请使用 center 和 bounds 属性
@property(nonatomic) CGRect frame;
// 1> bounds 表示: 使用控件自身的坐标系统来描述控件的位置和大小。(主要是为了让当前控件的子控件方便布局, 当前控件的子控件以这个坐标系为准来进行布局)
// 1.1> 简而言之: bounds.x 和 bounds.y 决定了UIView的subView的原点坐标。
// 2> bounds 使用的是点坐标系
// 3> 通过 bounds 修改大小, 控件会表现出相对于中心点的大小变化
// 4> bounds 默认的 x、y 值是(0, 0), 这个值是可以修改的, 修改了这个值不会影响控件本身的的显示, 而是影响该控件内部子控件的显示(因为改变了当前控件自身的坐标系, 所以该控件的所有子控件的相对位置就发生了变化)
// 5> bounds 的 size 是和 frame 的 size 相关联的, 修改了一个会影响另外一个
@property(nonatomic) CGRect bounds;
// 1> center 属性也是用点坐标来描述的
// 2> center 一般指的是当前控件的中心点(在父容器坐标系统中的中心点)
// 3> 修改 center 属性也会影响到 frame 属性
// 4.1> 当一个控件还没有添加到任何父控件中的时候, 此时控件的center就是相对于控件自身左上角的偏移。
// 4.2> 当把一个控件添加到父容器中后, 此时控件的center就变成了相对于父控件的左上角的距离
@property(nonatomic) CGPoint center;
@property(nullable, nonatomic,readonly) UIView *superview;
@property(nonatomic,readonly,copy) NSArray<__kindof UIView *> *subviews;
@property(nonatomic) NSInteger tag;
// 文本框的 text 属性
@property(nullable, nonatomic,copy) NSString *text;
// 总结:
// 通过控件的frame可以修改控件的【位置(x, y)】 和 【大小(width, height)】
// 通过控件的center只能修改控件的【位置(x, y)】
// 通过控件的bounds只能修改控件的【大小(width, height)】
21. 介绍控件常见的方法
- (void)removeFromSuperview;
- (void)addSubview:(UIView *)view;
- (nullable __kindof UIView *)viewWithTag:(NSInteger)tag;
22. 通过纯代码的方式创建并使用按钮
- 动态创建按钮
- viewDidLoad 方法简要介绍
- 设置按钮文字、图片、大小、位置
- 把按钮添加到父容器中
- 为按钮注册"点击"事件
23. 动画介绍
- 头尾式动画
- block动画
24. 应用程序启动过程简要介绍
1> 执行 main()函数
2> 执行 UIApplicationMain()函数
3> 在UIApplicationMain()函数中, 读取Main.storyboard文件
4> 创建Main.storyboard文件中, 箭头所指的控制器所对应的类的对象
5> 显示界面到用户眼前