UIScrollView简单学习总结
属性
UIScrollView继承为UIView。所以UIScrollView也拥有frame,bounds,conter等属性。另外UIScrollView还具有一些单独的属性,总结了几个常用的属性。
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.frame = CGRectMake(0, 0, 375, 667);
[self.view addSubview:scrollView];
scrollView.contentSize =CGSizeMake(1000,500) //表示UIScrollView可以滑动的大小,类型为scrollView.CGSize.默认值为CGSizeZero
scrollView.contentOffset =CGPiontMake(0,200) //表示UIScrollView的偏移量,类型CGPoint,默认值为CGPointZero
scrollView.showsVerticalScrollIndicator = NO;//表示垂直方向是否显示滑动条,类型为BOOL
scrollView.showsHorizontalScrollIndicator = YES;//表示水平方向是否显示滑动条,类型为BOOL
//滑动的时候是否有弹簧效果 类型为BOOL,默认值为YES.
scrollView.bounces = NO;
scrollView.alwaysBounceVertical = NO;
scrollView.alwaysBounceHorizontal = YES;
//设置滑动条的位置
scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(50, 50, 50, 50);
//设置滑动的风格
//1. UIScrollViewIndicatorStyleDefault
//2. UIScrollViewIndicatorStyleBlack
//3. UIScrollViewIndicatorStyleWhite
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
// 设置滑动减速的速率,范围为(0.1,1)
scrollView.decelerationRate = 1;
代理方法
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
返回值为scrollView中的一个UIView ,比如返回一个UIImageView;则该view可以实现拉伸变形。
scrollView.maximumZoomScale = 2.0;
scrollView.minimumZoomScale = 0.2;
设置拉伸形变的最大倍数和最小倍数
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
- (void)scrollViewDidZoom:(UIScrollView *)scrollView;
检测是否滑动和拉伸的函数。
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
检测是否开始滑动。
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0);
检测是否结束拖动,并传入两个参数结束时的速度和偏移量。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
检测是否结束拖动,并传入一个bool变量decelerate yes表示拖动结束时scrollView带有速度,no表示拖动直接停止。
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
检测scrollView是否开始减速和是否停止减速。
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view );
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale;
检测scrollView是否开始拉伸 并传入拉伸的view
检测scrollView是否结束拉伸,并传入拉伸的view和拉伸的形变参数scale