技术分享-bounds的深入认识
MAKE BY - LJW -------转载请注明出处-------
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {CGRect bounds = self.redView.bounds;bounds.origin = CGPointMake(30, 30);self.redView.bounds = bounds;NSLog(@"%@", NSStringFromCGRect(self.s.frame)); }
scrollView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
self.tableView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {NSLog(@"%@", NSStringFromCGPoint(tableView.bounds.origin)); }
打印一下结果:
所以,bounds的origin跟contentOffset的值是一样的,而修改contentInset也会影响到这两者.
self.automaticallyAdjustsScrollViewInsets = NO;
2.设置相应的偏移量抵消
self.scrollView.contentInset = UIEdgeInsetsMake(-64, 0, 0, 0);
官方文档描述
TabBarController对contentInset的影响:
如果scrollview被套上NavigationController和TabBarController,滚动到最上面,系统会自动下移64,滚到最下面,增加49.保证里面内容都能看到
iOS7之后,苹果做出了这样的效果,并且是可以穿透的. 但是只有TabBarController就不会有自动调整
打印结果:
frame和bounds的重新认识
- frame
- 以
父控件
内容
的左上角为坐标原点, 计算出的控件自己
矩形框
的位置和尺寸
- 以
- bounds
- 以
控件自己
内容
的左上角为坐标原点, 计算出的控件自己
矩形框
的位置和尺寸
- 以
- 概括
- frame.size == bounds.size
- scrollView.bounds.origin == scrollView.contentOffset
矩形框和内容的理解
- 矩形框
- 控件自己的显示位置和尺寸
- 内容
- 控件内部的东西,比如它的子控件
---恢复内容结束---
转载于:https://www.cnblogs.com/ljwiOS/p/5499227.html
技术分享-bounds的深入认识相关推荐
- Apollo决策技术分享
本文是根据Apollo开发者社区在3月26日举办的"Apollo决策技术分享"在线图文直播课程的授课内容整理而得. 一,决策的目的 决策模块相当于无人驾驶系统的大脑,保障无人车的行 ...
- Inplayable技术分享
Inplayable技术分享 运维 设计模式 Web 安全 工具 语言 python 运维 <aws lambda 通过codebuild上线踩坑指南之 lambda 进程被占用 status ...
- iOS-FXDanmaku弹幕库介绍、相关技术分享
前言 去年, 2016年, 一大波直播平台在移动端涌出, 直播慢慢步入了人们的视角. 网上如今能够看到各式各样的直播, 如秀场直播.游戏直播.体育直播.娱乐直播等等. 在各种类型的直播中, 弹幕在PC ...
- UI培训技术分享:设计大神都在用的10种技法!
越来越多的人开始学习UI设计,想要进群到UI设计这个行业,本期小编为大家介绍的UI培训教程就是关于设计师会经常用到的一些技巧,帮助大家后期的工作中的应用. UI培训技术分享:设计大神都在用的10种技法 ...
- UI设计培训技术分享:搞定萌萌哒可爱图标
UI设计要学到的东西有很多,那么关于图标设计就是其中的一种,很多企业比较忠于萌萌哒的可爱图标,那么如何搞定萌萌哒可爱图标呢?来看看下面UI设计培训技术分享教程. UI设计培训技术分享:搞定萌萌哒可爱图 ...
- 好程序员web前端技术分享媒体查询
为什么80%的码农都做不了架构师?>>> 好程序员web前端技术分享媒体查询 什么是媒体查询 媒体查询可以让我们根据设备显示器的特性(如视口宽度.屏幕比例.设备方向:横向或纵向 ...
- 龙芯架构应用迁移技术分享——搜狗输入法应用迁移
技术引领创新,用"芯"构建生态,第一期龙芯生态论坛将于2021年3月12日(周五)盛大开讲!龙芯生态论坛作为龙芯生态建设的重要技术交流窗口,将汇聚龙芯资深技术专家及行业生态伙伴精英 ...
- freescale imx6 编译 linux ltib,TQIMX6Q技术分享——LTIB安装配置(转)
TQIMX6Q_BASEC开发板是天嵌科技在2015年重磅推出的顶级开发平台,采用飞思卡尔的I.MX6Q芯片,真四核运行,1G Hz主频,2G DDR3内存,8G EMMC FALSH.TQIMX6Q ...
- 一个研发团队是如何坚持7年技术分享的?
--"所有分享都是有意义的" --"在PingCode,人人都可以成为分享者" 这是PingCode研发团队的分享精神,而这样的精神,在过去7年中已经闪耀了10 ...
最新文章
- fragment中listview触发事件setOnItemClickListener不好使
- jupyter修改密码后无法启动服务器,搭建jupyter远程连接服务器
- Linux中将pip 源切换至国内镜像~亲测可用
- MySQL Execution Plan--执行计划中的Type列
- SQL Server 2012笔记分享-6:理解内存管理
- mysql清理 frm_通过.frm .ibd文件恢复MySQL数据
- go hive skynet_云风的skynet在国内外来看究竟算什么水平?可以一统国内游戏服务端框架吗?...
- GMF 教程 Mindmap 5
- Ranger-AdminServer安装(开启Kerberos)
- vue element-ui只有一条信息时默认选中按钮,且不能取消,多条信息时可以手动选择
- docker nginx 反向代理
- 计算机信息管理系统实训摘要,计算机实训报告摘要.doc
- Python 根据图片url,批量下载图片
- python 大智慧自定义数据_大智慧扩展数据、自定义数据
- 图像处理算法 之 Hough变换
- 程序员的算法趣题 python3 - (4)
- 数据科学 IPython 笔记本 一、TensorFlow
- 万用表测试软件,最全的万用表使用方法看这里!
- 蛋白质互作工具开发笔记(一)——整体计划实施
- Navicat连接Mysql方法教程
热门文章
- emacs org mode 中的标签全参考
- 赴美工作常识(Part 4 - 面试)
- 浅析jQuery的链式调用 之 each函数
- 职业生涯中的八大“定位法则”(转)
- java.lang.IllegalAccessError: org.apache.commons.dbcp.DelegatingPreparedStatement.isClosed()Z
- 浅玩JavaScript的数据类型判断
- 阿里云 yum无法正常使用的解决办法 (转)
- T-SQL查询进阶--深入理解子查询
- live的domain服务
- Cloudera Manager 5 和 CDH5 本地(离线)安装指南(Hadoop集群搭建)