content view
@property(nonatomic) CGPoint contentOffset; // default CGPointZero
@property(nonatomic) CGSize contentSize; // default CGSizeZero
@property(nonatomic) UIEdgeInsets contentInset; // default UIEdgeInsetsZero. add additional
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; // animate at constant velocity to new offset
解释:
- contentOffset为content view的offset
- contentSize为content view的size
- contentInset增加content view的四周滚动区域
滚动原理
- UIScrollView作为parent view,其subviews作为content view在UIScrollView的逻辑坐标系中显示,contentOffset作为content view的offset,改变contentOffset的本质就是改变UIScrollView bounds.origin,通过改变UIScrollView的自身坐标系,改变subviews(content view)的显示(UIScrollView的clipsToBounds为YES)
- contentOffset的值任何时刻都与bounds.origin一致,互为影响