ios UI 基础开发二

第一节:UIPickerView、UIPickerViewDataSource、UIPickerViewDelegate

设置约束,如果要设置两个兄弟的约束,可以按住option键,用鼠标右键把a拖到b上面,表示a按照b来对齐

生成随机数

如果后面列的数据,依赖前面的数据,需要把前面选择的列的数据,保存下来,因为不保存,后面更新的时候,前面的列并没有变化,会造成索引越界

添加UIView
第二节:显示方法的注释快捷方法

光标定位到方法上,按一下esc键,会显示注释

第三节:全局断点,会在发生崩溃的地方断点
第四节:UIDatePicker

为什么用weak和 strong

设置locale 语言

第五节:NSDateFormatter
第六节:UIToolBar

系统封装的一个view,里面是UIToolbarItem

第七节:plist 属性

第八节:pch文件
第九节:UIApplicaiton

keywindow 是应用的主界面

这个key 表示状态栏的显示不交给View controller 管理了,而是交给应用程序

启动过程

如果要保存应用数据,应该在enter background的时候保存,因为如果先进入后台,过一会再kil app,获取不到teminate 事件

加载自定义controller

通过代码加载

通过storyboard 加载

通过xib创建

self.view 的懒加载

就是调用 [self loadView] 方法,可以重写该方法

第十节:UIWindow

继承自UIView

第十一节:UINavigationController

通过storyboard 设置

在storyboard中拖一个navigation controller,然后右键,设置root controller

上面有一个navigation item 控件

连线push 和 show 的区别

show 不会添加navigation item

右键连线

只有样式上的区别,一个字没加粗,一个加粗了

View的生命周期

删除的时候是倒着来,比如栈的结构为 红->绿->蓝 ,如果从红->蓝,销毁的时候,先销毁绿,在销毁红,因为蓝的强指针先没了

第十二节:Segue
自动型
手动型

第十三节:数据存储

finder ->前往->前往文件夹

simpholder2.app 快捷前往沙盒工具

plist 存储

自定义对象不能存到plist 文件,因为它没有writeToFile 方法

偏好设置(NSUserDefaults)
归档解档(NSKeyedArchive、NSKeyedUnArchive)

它是二进制的文件,归档解档的对象要遵循NSCoding协议,文件路径还是在Document路径

归档的时候,要告诉归档那些属性,解档的时候也是要告诉解档哪些属性

temp目录:NSTemporaryDirectory

第十四节:UITabBarController

高度49

第十五节:图片保持图片的长宽

选中ui view,edit->size to fit (command =)

第十六节:Modal

两个界面之间有逻辑关系,用push,没关系用modal

第十七节:Quartz2d
CGContextRef

能用oc的就用oc

draw rect
画图 矩形、圆角矩形、椭圆、圆弧

样式
渲染样式

填充且描边

奇偶填充规则
非零绕数规则
画图 饼图、柱状图、进度条

第十八节:矩阵操作:旋转、缩放、平移

在把路径放到上下文之前进行操作才有效,是对上下文进行的操作

图形上下文栈

save 表示入栈,restore表示出栈

内存管理 (CGPath的释放)
绘制文字

attribute 就是 nsattributename 里面的字符串

绘制图片
模拟image View

这种方式创建的image 是图片的默认大小,模拟image view 就是上面的UIimage 的draw方法

图片裁剪

裁剪的是图片,并不是上下文

图形上下文
保存图片

裁切image
image 保存到相册
屏幕截图

第十九节:触摸事件

可以通过这俩值,获取偏移量

NSSet
多点触摸

按住option键 拖鼠标可以模拟多点触摸,默认View 没开启多点触控,需要开启

view 的这个属性clip subview 类似于Mask

事件传递
相关推荐
Zender Han5 小时前
Flutter 实现人脸检测 — 使用 google_mlkit_face_detection
android·flutter·ios
2501_916008896 小时前
iOS 26 性能分析深度指南 包含帧率、渲染、资源瓶颈与 KeyMob 协助策略
android·macos·ios·小程序·uni-app·cocoa·iphone
jz_ddk7 小时前
[LVGL] 从0开始,学LVGL:基础构建篇 - 掌握UI的核心构建块
linux·网络协议·ui·rpc·嵌入式·gui·lvgl
Rhys..7 小时前
python自动化中(包括UI自动化和API自动化)env的作用和使用
python·ui·自动化
Mr_zheng11 小时前
iOS 26 UIKit和Swift上的更新
ios·swift
YungFan11 小时前
iOS26适配指南之UISearchController
ios·swift
陈彬技术实践12 小时前
从 Auto Layout 原理看:为什么 UITableView.tableHeaderView 无法自动撑开?
ios
尤老师FPGA12 小时前
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第三十二讲)
android·java·ui
2501_9159090619 小时前
tcpdump 抓包数据分析实战,命令、过滤、常见故障定位与真机补充流程
网络·测试工具·ios·小程序·uni-app·iphone·tcpdump
Larry_Yanan1 天前
QML学习笔记(三十四)QML的GroupBox、RadioButton
c++·笔记·qt·学习·ui