一.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的深入研究相关推荐

  1. 《强化学习周刊》第32期:上海交大华为 | 可解释强化学习研究综述

    No.32 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  2. android surfaceflinger研究----SurfaceFlinger loop

    上一篇文章介绍了整个Surface机制(我是这么称呼的,主要是Surface的建立,Surface的显示存储的管理),同时我们也介绍过了整个显示系统,那么这篇文章就介绍一下SurfaceFlinger ...

  3. 姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖

    近日,美国艾尔弗·斯隆基金会(The Alfred P. Sloan Foundation)公布了2019年斯隆研究奖(Sloan Research Fellowships)获奖名单,华裔学者鬲融获此 ...

  4. Android UI 事件研究

    1. 创建一个布局文件,布局如下,只有一个TextView <?xml version="1.0" encoding="utf-8"?> <L ...

  5. 圈的ramsey数研究

    1 引言 1.1 研究内容与意义 "图"最早是人们将具体的事物用一些简单的线条来进行描述.并将这些描述的含义传达给其他人的一种工具.图论这个学科的产生最早应该是在1736年瑞士著名 ...

  6. 英语单词音近形似转化规律研究

    英语对我们搞IT的人来说实在太重要了,你还在为记不住英语单词而苦恼吗?还在为看不懂thinking in java而伤神吗?看看我最近的研究,也许对你有些启发呢!基于英国国家语料库中最常见的18299 ...

  7. 2021年小目标检测最新研究综述 很全面值得收藏

    摘要 小目标检测长期以来是计算机视觉中的一个难点和研究热点.在深度学习的驱动下,小目标检测已取得了重大突破,并成功应用于国防安全.智能交通和工业自动化等领域.为了进一步促进小目标检测的发展,本文对小目 ...

  8. GEE:内存超限?将研究区划分成规则的小块运算

    如图所示,我们将研究区Roi划分了16个小块,选择其中的第10块做研究区roi.当内存超过限制时,我们可以一块一块的运行代码,最后将结果合起来,就可以适当的解决内存超限的问题. 源代码:https:/ ...

  9. 哈希表及哈希函数研究综述

    哈希表及哈希函数研究综述 摘要 随着信息化水平的不断提高,数据已经取代计算成为了信息计算的中心,对存储的需求不断提高信息量呈现爆炸式增长趋势,存储已经成为急需提高的瓶颈.哈希表作为海量信息存储的有效方 ...

  10. iOS 界面流畅度研究

    文章目录 1. 屏幕显示图像的原理 2. CPU在iOS中是如何工作的 3. GPU在iOS中负责什么 4. iOS中CPU和GPU的协同 5. 在iOS中CPU的优化方向 6. 在iOS中GPU的优 ...

最新文章

  1. 云上人替代方案训练代码
  2. 内存是新的硬盘,硬盘是新的磁带
  3. apache属于哪个公司
  4. C语言圈排序Cycle Sort算法(附完整源码)
  5. win7装mysql5.5_Win7下mysql5.5安装图文教程
  6. Lazarus安装使用
  7. tf 矩阵行和列交换_TF-搞不懂的TF矩阵加法
  8. node 安装 webpack
  9. JAVA 设计模式 职责链模式
  10. maven创建java,Maven创建Java项目
  11. CStatic类的GDI双缓冲绘图
  12. 地表最强报表工具,一张模板秒杀数百Excel !
  13. Java输出4位数整数,输出这个数的千位,百位,十位,个位
  14. 设计师常用网站,建议收藏
  15. An improved Otsu method using the weighted object variance for defect detection-论文阅读笔记
  16. Git和Bitbucket入门之代码上传
  17. 华为V8手机USB OTG Type-C接口数据线
  18. 光波长与RGB数值的转换
  19. QUST日常训练(1)北极熊和大象
  20. 中国科技的家底是什么?

热门文章

  1. html2canvas关于图片不能正常截取 1
  2. 《鸟哥的Linux私房菜》读书笔记
  3. 面向对象---特----性
  4. AMD已秒英特尔全家?真的吗?来看看真正公平公正的版本吧!
  5. Mesos框架对比:Marathon 和 Aurora
  6. PHP.ini文件 服务器将用户可操作的文件限制在某目录下
  7. iOS AutoLayout自动布局中级开发教程(2)-等宽等高等中心
  8. PHP中判断变量为空的几种方法
  9. 浅析刚参加工作的大学生的心理态势
  10. android 线程使用监控思路分享