contentOffset和contentInset的理解

frame属性

frame 是UIView中表示该控件所占有矩形区域。该属性是相对与它的superView(父视图控件)来说的。

[superView insertSubview:childView atIndex:0];

childView.frame = CGRectMake(0, 0, 320, 460);

childView 视图将被定义在superView 视图的(0,0)位置,宽320 高460。(注意,是针对父视图来定位矩形区域)

---------------------------------

contentOffset 属性

 

官方解释:

contentOffset

The point at which the origin of the content view is offset from the origin of the scroll view.

是一个坐标点,这个坐标点是滚动视图中内容视图所在的坐标点。

这描述真心别扭啊!!!

换个思路理解:

可以把滚动视图看成是两层:“UIScrollView外壳” 和 “内容视图”

contentOffset属性是UIScrollView外壳内部,显示内容所在的坐标点。

如下图:

也就是说,滚动视图中,用户滚动时,滚动的是内容视图,而contentOffset坐标,指代的就是内容视图的坐标。

contentOffset 的默认点为 CGPointZero 

值得注意的是:

1.contentOffset 坐标值,会随着用户滑动内容视图,而改变。

2.内容视图的contentOffset为负数时,在滚动视图中是看不到的。

---------------------------------

contentInset属性

这个属性理解起来,很容易,但是,表述起来有点困难。

直接说效果:就跟,css中padding属性作用是一样的。

scrollView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);

这样定义后,内容视图开始显示的坐标为(0,51)。

希望对您有所帮助!

时间: 2024-11-13 08:23:01

contentOffset和contentInset的理解的相关文章

IOS中UIScrollView的contentSize、contentOffset和contentInset属性

IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView. 跟所有的view一样,UIScrollView有一个frame属 性,同时,UIScrollView还具有contentSize.contentOffset和contentInset属性.我在学习中,就觉得其中 contentSize和contentOffset相对比较好理解,对contentInset就有点不太好理解.下面具体解释一下. contentSize是UIScr

iOS 关于滚动视图contentSize、contentOffset、contentInset 的整理

iOS 关于滚动视图contentSize.contentOffset.contentInset 的整理 contentSize 是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍. contentOffset 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是

iOS开发之 UIScrollView的frame、contentSize、contentOffset和contentInset属性

ios中下拉图片变大效果 http://blog.csdn.net/mad2man/article/details/14169197 IOS中UIScrollView的frame.contentSize.contentOffset和contentInset属性 (1) frame            :是指scrollview的可视范围(可看见的区域). (2)contentsize    :是其滚动范围.UIScrollView所有内容的尺?寸,也就是告诉 它滚动的范围(能滚多远,就滚多远)

UIScrollView的contentsize、contentoffset和contentInset属性

UIScrollView常用属性有contentSize.contentInset和contentOffset 1.contentSize很好理解,就是UIScrollView的contentView(内容视图)的size 2.contentInset是UIEdgeInsets类型,表示UIScrollView的内边距.可能这样不好理解,可以参考css里的内边距padding. 3.contentOffset是CGPoint类型.它表示contentView(内容视图)沿X轴和Y轴方向偏移值.

关于tableView中tableHeaderView/tableFooterView/sectionHeader/sectionFooter/contentInset的理解

其实每个人的理解有所不同,找到最有利于自己的理解方式即可.有人把Cell,tableHeaderView,tableFooterView,sectionHeader,sectionFooter这些属性理解为tableVIew的内容,其他都不是,这样理解也可以.其实,在控件的本地坐标系中,内容是没有边界的,但有可视范围,可视范围就是bounds所描述的范围.只要是添加到该控件的东西,都属于其内容.所以下面这种方式如果可以理解的话,相信在使用的过程当中会更简单! tableView中 1.增加或减少

iOS开发frame, contentSize, contentOffset, contentInset 区别联系浅析

1. 概述 iOS开发中,必然会涉及到布局相关问题,frame,bounds,contenSize,contentOffset,contentInset这几个布局相关概念让许多初学者感到困惑.虽然初步了解这几个概念,即可完成大部分界面的布局,但布局较复杂页面时就有点力不从心了. 2. 概念解析 2.1 frame frame是一个矩形区域,反映当前view相对于它的superview的位置关系,左上角的点(frame.origin)的x,y轴值确定了矩形区域的位置(frame.origin.x,

IOS中UIScrollView的contentSize、contentOffset和contentInsert属性

IOS中,UIScrollView继承于UIView,扩展了滚动,缩放功能,双协议,其中最常用的UITableview就是继承于该类. UIScrollView中的frame.bounds.contentSize.contentOffset和contentInset属性,这几个属性一直都容易混淆,自己小总结一下: frame是基于superView的坐标系创建的,表示该滚动视图在其父视图中的位置 bounds属性是基于该滚动视图本身的坐标系的,主要用于确定其子视图在该滚动视图上的位置,当boun

UI基础之UIScrollView的使用

一:ScrollView属性应用 1,UIScrollView是一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 2,UIScrollView 的使用步骤: 1>添加scrollView的滚动内容 2>设置scrollView的滚动范围,属性值contentSize,告诉scrollView滚动内容的范围. 3,属性: 1>contentOffset; 这个属性?用来表?示UIScrollView滚动的位置 2>contentSize;这个属性

18、iOS面试题·自整理·One

◆如何解决低内存问题? ForExample:将暂时没有展示在Window中的界面销毁,以获得足够的内存: ◆POST请求的数据类型有哪些? json.xml.二进制.参数拼接: ◆请简述你理解的面向对象思想. 所谓面向对象,举个最简单的例子,就是这样的. A先生需要一台电脑,但是A先生对电脑配置.性能.品牌等方方面面的知识一窍不通.而A先生恰巧有位经营电脑方面生意的朋友--C先生,C先生对电脑硬件方面很是了解.A先生告诉C先生所需要的电脑大概什么需求.什么价位.C先生就会提供给A先生其所需的电