bounds的深入研究
一.bounds的深入研究
1>frame:是以父控件的左上角为原点,描述的是一块区域的可视范围,
bounds:是以自己内容左上角为原点,描述的是可视范围在内容范围显示的区域
2>frame:参照父控件一直不变
bounds:参照内容,位置会变动
注意:当bounds的y值增加,内容会往上移动!为什么呢?因为y值增加,表示要显示下面的内容,所以内容往上移动了.
3>UIScrollView底层实现:
(1)先创建一个UIView,把它添加到控制器的view上
(2)再在这个UIView上添加一个拖拽手势
(3)拖动的时候调用一个方法,用来改变bounds的偏移量
#import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate> @property (weak, nonatomic) UIView *scrollView @property (nonatomic, assign) CGPoint offsetX; @end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];UIView *scrollView = [[UIView alloc] initWithFrame:self.view.bounds];[self.view addSubview:scrollView];_scrollView = scrollView; UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];[scrollView addGestureRecognizer:pan];UISwitch *switchV = [[UISwitch alloc] init];[scrollView addSubview:switchV]; }// 拖动的时候调用 - (void)pan:(UIPanGestureRecognizer *)pan {// 获取偏移量CGPoint transP = [pan translationInView:pan.view];_offsetX.x += -transP.x;_offsetX.y += -transP.y; _scrollView.bounds = CGRectMake(_offsetX.x, _offsetX.y, self.view.bounds.size.width, self.view.bounds.size.height); [pan setTranslation:CGPointZero inView:pan.view];}
转载于:https://www.cnblogs.com/naiwenmoer/p/5538235.html
bounds的深入研究相关推荐
- 《强化学习周刊》第32期:上海交大华为 | 可解释强化学习研究综述
No.32 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...
- android surfaceflinger研究----SurfaceFlinger loop
上一篇文章介绍了整个Surface机制(我是这么称呼的,主要是Surface的建立,Surface的显示存储的管理),同时我们也介绍过了整个显示系统,那么这篇文章就介绍一下SurfaceFlinger ...
- 姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖
近日,美国艾尔弗·斯隆基金会(The Alfred P. Sloan Foundation)公布了2019年斯隆研究奖(Sloan Research Fellowships)获奖名单,华裔学者鬲融获此 ...
- Android UI 事件研究
1. 创建一个布局文件,布局如下,只有一个TextView <?xml version="1.0" encoding="utf-8"?> <L ...
- 圈的ramsey数研究
1 引言 1.1 研究内容与意义 "图"最早是人们将具体的事物用一些简单的线条来进行描述.并将这些描述的含义传达给其他人的一种工具.图论这个学科的产生最早应该是在1736年瑞士著名 ...
- 英语单词音近形似转化规律研究
英语对我们搞IT的人来说实在太重要了,你还在为记不住英语单词而苦恼吗?还在为看不懂thinking in java而伤神吗?看看我最近的研究,也许对你有些启发呢!基于英国国家语料库中最常见的18299 ...
- 2021年小目标检测最新研究综述 很全面值得收藏
摘要 小目标检测长期以来是计算机视觉中的一个难点和研究热点.在深度学习的驱动下,小目标检测已取得了重大突破,并成功应用于国防安全.智能交通和工业自动化等领域.为了进一步促进小目标检测的发展,本文对小目 ...
- GEE:内存超限?将研究区划分成规则的小块运算
如图所示,我们将研究区Roi划分了16个小块,选择其中的第10块做研究区roi.当内存超过限制时,我们可以一块一块的运行代码,最后将结果合起来,就可以适当的解决内存超限的问题. 源代码:https:/ ...
- 哈希表及哈希函数研究综述
哈希表及哈希函数研究综述 摘要 随着信息化水平的不断提高,数据已经取代计算成为了信息计算的中心,对存储的需求不断提高信息量呈现爆炸式增长趋势,存储已经成为急需提高的瓶颈.哈希表作为海量信息存储的有效方 ...
- iOS 界面流畅度研究
文章目录 1. 屏幕显示图像的原理 2. CPU在iOS中是如何工作的 3. GPU在iOS中负责什么 4. iOS中CPU和GPU的协同 5. 在iOS中CPU的优化方向 6. 在iOS中GPU的优 ...
最新文章
- 云上人替代方案训练代码
- 内存是新的硬盘,硬盘是新的磁带
- apache属于哪个公司
- C语言圈排序Cycle Sort算法(附完整源码)
- win7装mysql5.5_Win7下mysql5.5安装图文教程
- Lazarus安装使用
- tf 矩阵行和列交换_TF-搞不懂的TF矩阵加法
- node 安装 webpack
- JAVA 设计模式 职责链模式
- maven创建java,Maven创建Java项目
- CStatic类的GDI双缓冲绘图
- 地表最强报表工具,一张模板秒杀数百Excel !
- Java输出4位数整数,输出这个数的千位,百位,十位,个位
- 设计师常用网站,建议收藏
- An improved Otsu method using the weighted object variance for defect detection-论文阅读笔记
- Git和Bitbucket入门之代码上传
- 华为V8手机USB OTG Type-C接口数据线
- 光波长与RGB数值的转换
- QUST日常训练(1)北极熊和大象
- 中国科技的家底是什么?