View、Control、Layer对象的布局方法 今日热闻
(相关资料图)
首先明确两个概念:
UIWindow 对象 : 整个程序中视图层次结构中最顶层,充当一个容器类。UIViewController 对象 :viewController 中一个 view属性是 view层次结构中rootView,可以添加 view构建复杂的视图结构,通过生命周期方法loadView、viewDidLoad、viewWillAppear 等控制视图声明周期,因为他继承于 UIResponder,所以可以响应和处理用户事件。View、 Control 、 Layer 对象 :view可以通过 addSubView 和 removeFromSuperView等方法管理视图层次结构,使用 layoutSubviews、layoutIfNeeded 和 setNeedsLayout 等方法布局 view的层次结构,当系统提供的 view无法满足需要,可以重写 drawRect 方法或者通过 layer属性构造更加复杂的图形和动画。 iOS中布局相关方法 - (CGSize)sizeThatFits:(CGSize)size; - (void)sizeToFit; sizeToFit 自动调用 sizeThatFits 方法,不能在子类中重写 sizeToFit ---------------------------------------------------------------------- - (void)layoutSubViews; - (void)layoutIfNeeded; - (void)setNeedsLayout layoutSubviews 在以下情况下会被调用 init初始化不会触发 layoutSubviews,但是 initWithFrame 进行初始化会被调用,当 rect 的值不为 CGRectZero 时,也会触发。addSubView会触发 layoutSubviews设置 view的 frame 会触发 layoutSubviews滚动 ScrollView 时会触发 layoutSubviews旋转 Screen 会触发 父view 上的 layoutSubviews改变一个 view的大小也会触发父view的 layoutSubviews,所以重写这个方法要调用 [super layoutSubViews] setNeedsLayout 标记需要刷新布局的控件,下一次运行循环的时候会刷新布局,异步调用 layoutIfNeeded——>layoutIfNeeded,立即刷新布局——>layoutSubViews --------------------------------------------------------------------- - (void)setNeedsDisplay;- (void)drawRect; setNeedsDisplay 方法,标记为重绘,异步调用 drawRect 方法 drawRect 方法,重写此方法,执行重绘任务 这个两个方法都没没有递归,对 subViews 也不负责,只负责自己。 ---------------------------------------------------------------------
layoutSubviews对subviews重新布局
layoutSubviews方法调用先于drawRect
setNeedsLayout在receiver标上一个需要被重新布局的标记,在系统runloop的下一个周期自动调用layoutSubviews
layoutIfNeeded方法如其名,UIKit会判断该receiver是否需要layout.根据Apple官方文档,layoutIfNeeded方法应该是这样的
layoutIfNeeded遍历的不是superview链,应该是subviews链
drawRect是对receiver的重绘,能获得context
setNeedDisplay在receiver标上一个需要被重新绘图的标记,在下一个draw周期自动重绘,iphone device的刷新频率是60hz,也就是1/60秒后重绘
标签:
相关推荐:
最新新闻:
- Word转PDF用什么软件?全能PDF转换助手-全球观点
- 数控铣床法兰克系统代码完整版 数控铣床法兰克系统代码大全
- 即时焦点:一文读懂程序化交易、算法交易、量化投资、高频交易
- 重磅!2022年第四届全国高校计算机能力挑战赛决赛晋级公示:世界看热讯
- 环球报道:java基础知识:标签和target的属性
- Linux下常见的锁机制-自旋锁 自旋锁spinlock见解
- 奖学金名称都有哪些?奖学金名称中英文对照表:焦点短讯
- 小米手机如何刷机?小米手机刷机教程步骤
- 打印机硒鼓的寿命一般多久?硒鼓多久换一次?
- 开机后桌面显示慢怎么办? 电脑桌面刷新很慢解决方法
- PSAM部分的硬件设计 PSAM部分的硬件设计图
- 双通道内存有什么好处?双通道内存好处介绍
- 天天滚动:梅西C罗姆巴佩等众星发文缅怀球王:安息吧!贝利
- 环球快看点丨什么是静电耳机? 静电耳机和普通耳机什么区别?
- 库尔勒经济开发区:电子政务“一站式”服务平台 焦点速看
- cmake-3.19.6-Linux自解压程序 简单的自解压程序|天天动态
- 被覆盖的文件如何恢复?不小心把文件覆盖了怎么恢复?
- 防火墙ddos防御设置 windows防火墙ddos
- IE浏览器在电脑哪里?查找IE浏览器的方法
- 图书馆客流统计计数器的作用是什么?图书馆安装客流统计系统有哪些意义?:焦点热议
- 清空浏览器缓存怎么操作?清理浏览器历史浏览记录方法
- 全球动态:电脑蓝牙管理软件工具有哪些?好用的蓝牙管理工具推荐
- 日本政府奖励民众搬出东京:每个孩子补助100万日元
- 两寸证件照尺寸是多少?二寸证件照快速制作步骤
- View、Control、Layer对象的布局方法 今日热闻
- 图省事、紧裤腰,65亿用户规模,影视OST怎么失灵了?|全球观点
- 如何设置开机u盘启动?开机优先启动u盘
- 《重型建筑工》steam页面上线 支持简体中文-天天热资讯
- kdh是什么文件?kdh文件怎么转换成word文件
- 《潜行者2》新截图发布 多人模式发售后免费更新-每日视点
- 天天资讯:Konami:2023年将会公布更多游戏
- 任天堂欧服eShop开启新年折扣 多款大作参与活动_当前消息
- 环球简讯:《最后的生还者》剧集新剧照 乔尔和女儿莎拉登场
- 什么是dns服务器?设置DNS提升网速方法
- 云手机是什么东西?云手机用途
- 手机没有信号无服务是怎么回事?手机没信号解决思路
- 电脑虚拟内存不足怎么解决?教你彻底清理C盘垃圾
- 打印机墨水怎么加?佳能型号打印机加墨水教程
- 固态硬盘怎么安装?固态硬盘安装后需要怎么设置?
- 摄像机像素和分辨率区别是什么?摄像机像素和分辨率区别介绍
- 主板温度多少算正常? 主板温度高怎么办?
- 联想最新笔记本系统如何恢复?一键还原的使用方法
- 来了!《潜行者2:切尔诺贝利之心》首个实机演示公开 2023年发售-焦点速讯
- Xbox金会员1月会免游戏公布 《彩虹坠入》等入库|今日观点
- “球王”贝利去世 终年82岁 当前热闻
- 今日精选:疫情下的农村老人
- 傲意科技完成近亿元Pre-B轮融资,智慧互联产业基金、中原前海基金领投
- 前沿热点:三星Galaxy Book2 Pro 360发布 搭载高通骁龙 8cx Gen 3
- 你不买我不买 桌面显卡出货量创新低
- 封杀半年后 俄罗斯用户可以下载Windows 11了
- 观速讯丨苹果Mini-LED显示屏供应商表示需求萎缩 因有传言称未来将过渡到OLED
- 世界微速讯:约5577元!英伟达RTX 4070 Ti国外售价曝光
- 当前热点-3799元!Minisforum NAD9迷你主机开启预售:i9-12900H加持
- 天天报道:英国周销榜:《FIFA23》第一、《马里奥赛车8豪华版》重归前五
- 《无尽战区》复活将首发32名英雄 尝试增加付费内容
- Epic喜加二:《耻辱》《Eximius:夺取前线》免费领:天天要闻
- 《潜行者2:切尔诺贝利之心》新预告片“来找我”
- 玩家们也起诉微软 以阻止其收购动视暴雪:重点聚焦
- 《糖豆人》联动《魔法满屋》服装表情限时开售-新视野
- 因被网红挑衅嘲讽 瑞典环保少女爆粗口回怼_播资讯
- 天天热资讯!《星空》在韩提交商标申请 快公布发售日!
- 外媒猜测:《生化4重制版》或许比前两代重制改变更大
- 基金业“元老”丁楹:明年超配中国股票,加大定增投资,关注通胀走向
- 1272亿!茅台顺利完成全年营收目标 净利润同比增逾19%
- 【天天热闻】3人同时订酒店同房型价格差1倍 女子怒斥:看人叫价
- 今日热讯:高玩分享《战神:诸神黄昏》战斗剪辑:13秒击杀女武神王葛娜
- 【世界播资讯】2022年VR/AR设备全球出货量同比降12% Meta开局不利
- 当前通讯!抢不到的Paxlovid:医保支付价降至1890元,辉瑞称积极提升可及性
- 环球时讯:麦当劳首家“非人类运营”餐厅开业
- 天天实时:“钉钉进步体”字体上线:永久免费商用 现已开放下载
- 每日速读!制作人曝山姆雷米版《最后的生还者》电影流产原因
- 《失落的方舟》台服将于2023年1月12日上线:最新资讯
- 2022年,一位CEO在朋友圈的“疯言疯语”_世界热讯
- 5000万像素超感光主摄!iQOO Neo7 竞速版视频拍照都拿手 焦点日报
- 素皮工艺潮酷理念,iQOO Neo7 竞速版颜值再升级|每日速递