contentSize、contentInset和contentOffset区别

分类: iphone开发2011-12-05 21:49 23495人阅读 评论(4) 收藏 举报
uiviewios

这几个都是在ios程序中,经常会注意到的一些小细节,能否真正了解这些,对写ios程序也有很大的好处。

frame 是UIView中表示此view的一个矩形面积,包括了view在它的superview中的一些几何上的标识。有起始坐标,也就是origin(CGPoint)和这个矩形面积的宽(width)和高(height)

bounds 每个view,除了有对应它的superview的相关坐标外,它自己也有对应它自己的几何坐标,所以bounds就是标识它自己坐标关系的一个标识,它有和frame一样的属性,但在

数值上会有些不同。

center 是一个view的中心,默认是这个view对应superview坐标的中间值。

如下图

假如有个view-A ,它是view-B的一个subview,view-A在view-B上的起始坐标是(40,40)(此坐标是view-B上的坐标关系),view-A的高(height)为380,宽(width)为240.

所以,view-A的frame值是(40,40,240,380) bounds的值是(0,0,240,380) center的值是(160,230). 所以,frame和bounds是有关联的,修改其中一个的宽或高,另一个也会相应的改变。

contentSize 是scrollview中的一个属性,它代表scrollview中的可显示区域,假如有一个scrollview,它的frame为(0,0,320,480),而它的contentSize为(320,960).也就是说,这个scrollview整个内容的大小为(320,960),要通过上下滑动scrollview来查看(320,480)后的内容。

contentOffset 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480

contentInset 是scrollview中contentView.frame.origin与scrollview.frame.origin的关系,比如contentView的frame为(0,30,320,480),那么contentInset则为(0, 30),

转载于:https://www.cnblogs.com/iOS-mt/p/4197260.html

contentSize、contentInset和contentOffset区别相关推荐

  1. iOS 7 — navigationController is setting the contentInset and ContentOffset of my UIScrollView

    Try setting self.automaticallyAdjustsScrollViewInsets = NO in your main view controller. This was in ...

  2. IOS面试经常被问到的问题

    1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIResponder的类才能响应touch事件,从上图的响应者链可以看出,优先是最上层的vie ...

  3. iOS开发系列--无限循环的图片浏览器

    概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授 ...

  4. iOS面试题·自整理·One

    --青灯素笺 ◆如何解决低内存问题? ForExample:将暂时没有展示在Window中的界面销毁,以获得足够的内存: ◆POST请求的数据类型有哪些? json.xml.二进制.参数拼接: ◆请简 ...

  5. iOS基本UI控件总结

    包括以下几类: //继承自NSObject:(暂列为控件) UIColor *_color;    //颜色 UIImage *_image;    //图像 //继承自UIView:只能相应手势UI ...

  6. 屏幕滚动控件ScrollView的使用

    1.UIScrollView有2个子类,uitextview和uitableview,这两个控件经常需要用到,因此熟练掌握它的使用是很有必要的.它们都是在内容超出屏幕时,可以提供水平或垂直滚动条. 2 ...

  7. 学习笔记之-------UIScrollView 基本用法 代理使用

    //contentSize.contentInset和contentOffset 是 scrollView三个基本的属性. // 滚动 self.ScrollView.contentSize =sel ...

  8. ios开源框架——UITableView+FDTemplateLayoutCell优化UITableViewCell高度计算

    前言 这篇文章是我和我们团队最近对UITableViewCell利用AutoLayout自动高度计算和UITableView滑动优化的一个总结.从这篇文章里,你可以读到: UITableView高度计 ...

  9. ios菜鸟之路:uiscrollview和pagecontrol的使用方法

    一.UIScrollview以及pagecontrol的声明 @interface rootViewController : UIViewController<UIScrollViewDeleg ...

最新文章

  1. Datawhale厦门大学分享记录!
  2. OpenCV中的透视变换介绍
  3. vs配色方案_提高生产力:配色,模板参数过滤及IntelliCode
  4. 俄罗斯智库 | 人工智能在军事领域的发展现状及应用前景
  5. 一招教会你处理Flutter中的数据
  6. 中国网络出版产业盈利模式与投资前景形势研究报告2022版
  7. iis7php怎么301重定向,iis7/8设置网站301重定向的方法
  8. Transformer如何并行化? self-attention公式中的归一化有什么作用?
  9. python三大神器装饰器_Python2.x
  10. AIX安装中文语言包
  11. [转载]Linux驱动-SPI驱动 之二:SPI通用接口层
  12. WordPress获取当前网站域名
  13. 数仓OLAP基础知识
  14. Ajax读取本地json文件
  15. 根据输入的三角形的三条边a、b、c,如果可以构成三角形,计算并输出该三角形的面积和周长,否则输出“Not a Valid Triangle”。
  16. anbox 使用情况_Anbox让您在Linux桌面上运行Android应用程序
  17. SyntaxError:Non-UTF-8 code starting with ‘\xb6‘ in file E:/...py on line 16, but no encoding declare
  18. 学校计算机社团目标,电脑社团活动计划
  19. 搭建WebRTC服务器
  20. 安娜堡计算机博士如何,密歇根大学安娜堡分校博士录取

热门文章

  1. 教育培训行业如何在抖音快速获客、变现?
  2. robots协议是什么?对网站SEO有什么好处?
  3. linux使用X11捕捉鼠标,如何在Linux下合法地以编程方式捕获第二个鼠标或轨迹球,X?...
  4. pandas dataframe 做机器学习训练数据=》直接使用iloc或者as_matrix即可
  5. 卷积神经网络——本质上是在利用卷积做特征压缩,然后再全连接
  6. js目标时间与当前时间差转换年月日天数
  7. AJAX(三)jQuery AJAX.post
  8. Thread Per Message Pattern
  9. Linux-Learning
  10. SQL UNION 操作符