一、使用步骤:
1.添加子组件到scrollview //必要步骤
2.设置clipsToBounds来确定超出范围是否被剪裁 (默认yes)
self.scrolltest.clipsToBounds=YES;
3.设置滚动范围 。 //必要步骤
(这里的滚动范围是设置的contentsize宽高减去scrollview的宽高,所以当contentsize宽高小于等于scrollview的宽高的时候,是不可滚动的)
scrollview.contentSize=CGSizeMake(
二、scrollview不可滚动的原因
1.没有正确设置scrollview.contentSize
2..scrollEnabled属性的设置(默认为yes) self.scrolltest.scrollEnabled=NO;
3.userInteractionEnabled属性来设置是否可以和用户交互 self.scrolltest.userInteractionEnabled=NO;
scrollEnabled和userInteractionEnabled的区别:
scrollEnabled只能决定是否能滚动;
userInteractionEnabled 影响滚动 。 事件 已经scrollview子组件的所有事件
三、scrollview基本属性
1.是否有弹簧效果
self.scrollview.bounces=No; (默认是yes)
self.scrollview.alwaysBounceHorizontal //水平
self.scrollview.alwaysBounceVertical //垂直
ps:可不可以滚动和有没有弹簧效果是不想关的
2.是否显示滚动条
showsVerticalScrollIndicator; //垂直滚动条
showsHorizontalScrollIndicator; //水平滚动条
3. scrollview的子控件 scrollview.subviews
ps:scrollview的子组件中默认有两个滚动条组件 。
4.设置内容的偏移量
scrollview.contentoffset=cgpoinntmake(x,y)
5.cgpoint 属性的用法
cgpoint offset=self.scrollview.contentoffset; //第一步取出属性
offset.x=12; //设置属性
offset.y=13;
self.scrollview.contentoffset=offset; //赋值属性
6.设置内边距
self.scrollview.contentInset=UIEdgeInsetsMake(10, 20, 30, 40);
四、scrollview代理 (其方法不是必须实现的)
步骤:
1、遵守协议
2.设置代理
3.方法实现
(1) scrollview滚动过程中,自动调用的方法;(惯性滚动也会调用)
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
(2) scrollview 将要滚动的时候调用
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
(3)scrollview将要停止滚动时,调用
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
(4)scrollview 已经停止滚动时,调用
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
(5)scrollview滚动减速完毕后,调用 。 (ps:并不是每次拖拽都会有减速情况;所以如果要判断scrollview是否停止滚动,可以用scrollViewDidEndDecelerating,scrollViewDidEndDragging一起使用来判断)
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
(6)设置放大于缩小
1.设置scrollview的代理
2.实现如下方法
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return self.imageview;
}
3.设置scrollview放大缩小的最大最小值
scroll.maximumZoomScale=2.0;
scroll.minimumZoomScale=0.5;
(7)正在所发过程中调用的方法
-(void)scrollViewDidZoom:(UIScrollview *)scorllview;
五、scrollview . 分页功能
scrollview.pagingEnabled=YES; //默认是no