UIKit 学习路线篇

引言

最近刚好有时间,就想着系统性地学习并整理一下 UIKit 的部分知识点,在之前参加内部近一个月 iOS 培训后整理出了一系列的文章:iOS 入门系列合集

除此之外,也有关于 Swift 语法的文章:Swift 那些特有的语法结构

以及关于部分 iOS 开发的小结文章:iOS 近期开发概念小结

但是这些文章大部分都是基于实际遇到不懂后总结而出的,因此在有一定时间的情况下和上过一段时间项目的基础上,想着结合实际的开发经验再次整体性的过一遍,但是这次稍有不同,是围绕着UIkit 框架展开的~

在编写本文章之前,我先梳理出了一篇文章:关于 UIkit 和 SwiftUI 那些用法不同但最后实现相同的概念合集,因为当我参考之前学习 SwiftUI 的路线来整理 UIkit 时,我发现部分知识我对应不上,因此便通过写本篇文章狠狠补了一下相关知识

当然,在阅读本篇文章前,个人还是十分建议将上面的文章都粗略的过一遍,对于初学者可以大概了解 iOS 相关知识,对于已经入门者则能达到知识巩固的效果,如果是资深开发者请留下您宝贵的建议~

学习路线

引言部分列举了一些个人总结的知识点,其实那些也是学习 UIkit 重要的参考资料,只是可能相对零散,此处便按照自己的理解罗列一下学习 UIkit 的知识路线,循序渐进的深入并打牢基础

UIkit 生命周期

UIkit 的生命周期有两类:视图生命周期、视图控制器生命周期

在 UIKit 中,生命周期主要关注视图控制器的生命周期,因为视图控制器是管理视图的核心。视图控制器负责初始化视图、响应视图的加载和卸载、处理视图的显示和隐藏等操作。UIView 的生命周期也很重要,但更多地是受视图控制器的管理和影响

视图控制器的生命周期

  • viewDidLoad():视图控制器的视图已经加载到内存中,此时可以进行初始化设置
  • viewWillAppear(_:):视图即将显示在屏幕上
  • viewDidAppear(_:):视图已经显示在屏幕上
  • viewWillDisappear(_:):视图即将从屏幕上消失
  • viewDidDisappear(_:):视图已经从屏幕上消失
  • viewWillLayoutSubviews():视图控制器的视图即将重新布局
  • viewDidLayoutSubviews():视图控制器的视图已经重新布局
  • 处理视图的初始化、显示和隐藏等操作

视图的生命周期

  • layoutSubviews():当视图的子视图需要重新布局时调用
  • draw(_:):当视图需要绘制自己时调用
  • willMove(toSuperview:):当视图被添加到父视图时调用
  • didMoveToSuperview:当视图已经被添加到父视图时调用
  • willMove(toWindow:):当视图将被添加到窗口时调用
  • didMoveToWindow():当视图已经被添加到窗口时调用
  • 处理视图的布局和绘制

UIkit 三方库

  • Alamofire:一个三方的网络请求库,iOS 之网络请求 一文中有关于它的讲解

  • SnapKit:一个用于简化自动布局的三方库,用法:

    swift 复制代码
    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)
            }
        }
    }

其他的三方库没怎么使用过,等用到后再继续补充~

相关推荐
游戏开发爱好者819 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
黑码哥19 小时前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
2501_9151063221 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
2501_9151063221 小时前
使用 Sniffmaster TCP 抓包和 Wireshark 网络分析
网络协议·tcp/ip·ios·小程序·uni-app·wireshark·iphone
熊猫钓鱼>_>21 小时前
移动端开发技术选型报告:三足鼎立时代的开发者指南(2026年2月)
android·人工智能·ios·app·鸿蒙·cpu·移动端
徐同保2 天前
通过ip访问nginx的服务时,被第一个server重定向了,通过设置default_server解决这个问题
ios·iphone
2501_915918412 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
2501_916007472 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
夏幻灵2 天前
HTTPS全面解析:原理、加密机制与证书体
ios·iphone
TheNextByte13 天前
如何在iPhone上恢复已删除的笔记的综合指南
笔记·ios·iphone