导言
最近刚好有时间,就想着体系性地学习并收拾一下 UIKit 的部分常识点,在之前参加内部近一个月 iOS 培训后收拾出了一系列的文章:iOS 入门系列合集
除此之外,也有关于 Swift 语法的文章:Swift 那些特有的语法结构
以及关于部分 iOS 开发的小结文章:iOS 近期开发概念小结
可是这些文章大部分都是基于实际遇到不懂后总结而出的,因而在有必定时间的情况下和上过一段时间项目的根底上,想着结合实际的开发经验再次整体性的过一遍,可是这次稍有不同,是围绕着UIkit 框架
展开的~
在编写本文章之前,我先整理出了一篇文章:关于 UIkit 和 SwiftUI 那些用法不同但最后完成相同的概念合集,由于当我参阅之前学习 SwiftUI 的道路来收拾 UIkit 时,我发现部分常识我对应不上,因而便经过写本篇文章狠狠补了一下相关常识
当然,在阅读本篇文章前,个人还是十分主张将上面的文章都大略的过一遍,对于初学者可以大概了解 iOS 相关常识,对于现已入门者则能到达常识稳固的作用,如果是资深开发者请留下您名贵的主张~
学习道路
导言部分列举了一些个人总结的常识点,其实那些也是学习 UIkit 重要的参阅资料,只是或许相对零散,此处便依照自己的了解罗列一下学习 UIkit 的常识道路,循序渐进的深入并打牢根底
- Swift 语法:大略看文档,遇到不会的再深入研究,可参阅 Swift 那些特有的语法结构
- UIkit 生命周期:参阅本文的 UIkit 生命周期部分的内容
- UIkit 视图控件:知道常用的几个就好,用时再查阅,可参阅官方文档
- UIkit 布局、UIkit 视图更新:参阅 关于 UIkit 和 SwiftUI 那些用法不同但最后完成相同的概念合集
- UIkit 三方库:Alamofire、SnapKit……参阅本文的 UIkit 三方库部分的内容
UIkit 生命周期
UIkit 的生命周期有两类:视图生命周期、视图控制器生命周期
在 UIKit 中,生命周期主要重视视图控制器的生命周期,由于视图控制器是办理视图的中心。视图控制器担任初始化视图、响应视图的加载和卸载、处理视图的显现和躲藏等操作。UIView 的生命周期也很重要,但更多地是受视图控制器的办理和影响
视图控制器的生命周期
-
viewDidLoad()
:视图控制器的视图现已加载到内存中,此刻可以进行初始化设置 -
viewWillAppear(_:)
:视图即将显现在屏幕上 -
viewDidAppear(_:)
:视图现已显现在屏幕上 -
viewWillDisappear(_:)
:视图即将从屏幕上消失 -
viewDidDisappear(_:)
:视图现已从屏幕上消失 -
viewWillLayoutSubviews()
:视图控制器的视图即将从头布局 -
viewDidLayoutSubviews()
:视图控制器的视图现已从头布局 - 处理视图的初始化、显现和躲藏等操作
视图的生命周期
-
layoutSubviews()
:当视图的子视图需求从头布局时调用 -
draw(_:)
:当视图需求制作自己时调用 -
willMove(toSuperview:)
:当视图被添加到父视图时调用 -
didMoveToSuperview
:当视图现已被添加到父视图时调用 -
willMove(toWindow:)
:当视图将被添加到窗口时调用 -
didMoveToWindow()
:当视图现已被添加到窗口时调用 - 处理视图的布局和制作
UIkit 三方库
- Alamofire:一个三方的网络请求库,iOS 之网络请求 一文中有关于它的讲解
- SnapKit:一个用于简化自动布局的三方库,用法:
class MyViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 创立一个视图 let myView = UIView() myView.backgroundColor = .blue view.addSubview(myView) // 使用 SnapKit 创立束缚 myView.snp.makeConstraints { make in make.top.equalToSuperview().offset(20) make.left.equalTo(view.snp.left).offset(20) make.right.equalTo(view.snp.right).offset(-20) make.height.equalTo(100) } } }
其他的三方库没怎么使用过,等用到后再持续补充~