UIKit编程入门:纯代码界面开发基础
1. 创建无Storyboard项目
1.1_安装和配置Xcode开发环境 1.2_创建新的iOS_App项目模板 1.3_删除Main.storyboard文件 1.4_移除Info.plist中的Storyboard配置 1.5_修改SceneDelegate以编程方式设置根视图
2. 理解UIKit核心概念
2.1_UIWindow:应用内容的容器 2.2_UIScreen:物理屏幕信息 2.3_UIView:视图对象的基础 2.4_UIViewController:视图控制器角色 2.5_UIApplication与AppDelegate生命周期 2.6_UIScene与SceneDelegate生命周期
3. 文本与标签控件
3.1_创建和配置UILabel 3.2_创建和配置UITextField 3.3_创建和配置UITextView 3.4_富文本NSAttributedString使用
4. 按钮与交互控件
4.1_创建和配置UIButton 4.2_为按钮添加点击事件 4.3_创建和配置UISwitch 4.4_创建和配置UISlider 4.5_创建和配置UISegmentedControl
5. 视图与显示控件
5.1_创建和配置UIImageView 5.2_使用UIActivityIndicatorView显示加载 5.3_使用UIProgressView显示进度 5.4_创建和配置UIView作为容器
6. 数据集合视图
6.1_创建和配置UITableView基础:创建与数据源 6.2_UITableViewDelegate协议方法 6.3_自定义UITableViewCell 6.4_创建和配置UICollectionView基础:创建与布局 6.5_UICollectionView数据源与代理 6.6_自定义UICollectionViewCell
7. Auto Layout核心概念
7.1_约束(NSLayoutConstraint)基础 7.2_关闭translatesAutoresizingMaskIntoConstraints 7.3_理解视图布局的生命周期 7.4_安全区域(Safe Area)的使用
8. 使用NSLayoutConstraint
8.1_手动创建单个NSLayoutConstraint 8.2_批量激活和停用约束 8.3_修改约束的constant属性以实现动画 8.4_设置约束的优先级(Priority)
9. 使用NSLayoutAnchor锚点
9.1_使用leading或trailing锚点设置水平约束 9.2_使用top或bottom锚点设置垂直约束 9.3_使用width或height锚点设置尺寸约束 9.4_使用centerX或centerY锚点设置居中
10. 高级布局容器
10.1_使用UIStackView进行线性布局 10.2_配置UIStackView的distribution属性 10.3_配置UIStackView的alignment属性 10.4_配置UIStackView的spacing属性
11. UIViewController生命周期
11.1_loadView方法的用途 11.2_viewDidLoad方法的使用 11.3_viewWillAppear与viewDidAppear 11.4_viewWillDisappear与viewDidDisappear 11.5_viewWillLayoutSubviews与viewDidLayoutSubviews
12. 导航控制器UINavigationController
12.1_创建和设置UINavigationController 12.2_Push操作:压入新的视图控制器 12.3_Pop操作:弹出当前视图控制器 12.4_自定义NavigationBar外观 12.5_配置UIBarButtonItem
13. 标签栏控制器UITabBarController
- 创建和设置UITabBarController
- 为标签栏添加多个视图控制器
- 自定义TabBarItem的标题和图标
- 处理标签栏的切换事件
14. 模态呈现(Present Modally)
14.1_使用present方法模态弹出视图控制器 14.2_使用dismiss方法关闭模态视图 14.3_理解不同的Modal_Presentation_Styles 14.4_理解不同的Modal_Transition_Styles
15. Target-Action模式
15.1_理解Target-Action设计模式 15.2_为UIControl控件添加事件监听 15.3_实现响应事件的@objc方法 15.4_传递事件发送者(sender)参数
16. 代理(Delegate)模式
16.1_理解Delegate设计模式 16.2_遵循系统协议(如UITextFieldDelegate) 16.3_实现代理方法以响应特定事件 16.4_自定义协议和代理
17. 手势识别UIGestureRecognizer
17.1_添加点击手势UITapGestureRecognizer 17.2_添加长按手势UILongPressGestureRecognizer 17.3_添加滑动手势UISwipeGestureRecognizer 17.4_添加拖动手势UIPanGestureRecognizer 17.5_添加缩放手势UIPinchGestureRecognizer 17.6_添加旋转手势UIRotationGestureRecognizer