contentInset 和 contentOffset和frame 之间的含义

我们先要看看,页面结构,我只截图,来配合的能够理解。
contentInset 和 contentOffset和frame 之间的含义_第1张图片
页面布局,就是一个View+Table

运行后的界面,就是一个全屏的talbeview

contentInset 和 contentOffset和frame 之间的含义_第2张图片

那么就,开始攻克堡垒吧!
---------------------------------
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.

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

这描述真心别扭啊!!!

contentInset <wbr>和 <wbr>contentOffset和frame <wbr>之间的含义 <wbr>让我们彻底搞懂!

换个思路理解:

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

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

 


如下图:

contentInset 和 contentOffset和frame 之间的含义_第3张图片

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

contentOffset 的默认点为 CGPointZero 

值得注意的是:

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

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



contentInset <wbr>和 <wbr>contentOffset和frame <wbr>之间的含义 <wbr>让我们彻底搞懂!

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

contentInset属性


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

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


 

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

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


希望对您有所帮助!

你可能感兴趣的:(contentInset 和 contentOffset和frame 之间的含义)