美文网首页
scrollviewdelegate

scrollviewdelegate

作者: 云端了啦 | 来源:发表于2017-05-11 16:48 被阅读0次

    - (void)viewDidLoad {

    [super viewDidLoad];

    _scrollView.backgroundColor=[UIColor redColor];//设置contentSize(必须设置)_scrollView.contentSize = CGSizeMake(400,667);//偏移量_scrollView.contentOffset = CGPointMake(100,0);//contentInset(在原有的基础上调整内容滚动区域的大小)//_scrollView.contentInset = UIEdgeInsetsMake(-100, 0, 0, 0);//锁定方向(当系统识别滚动方向的时候,会把另外一个方向锁定,如果识别不了,就不锁定方向)_scrollView.directionalLockEnabled =YES;//反弹效果(默认为yes)_scrollView.bounces =YES;//默认是no,假如是yes并且bounces是yes,甚至如果内容大小小于bounds的时候,允许垂直拖动_scrollView.alwaysBounceVertical =YES;//分页(默认no)_scrollView.pagingEnabled =YES;//滚动(默认yes允许滚动)_scrollView.scrollEnabled =YES;//滚动条//showsHorizontalScrollIndicator默认yes 显示_scrollView.showsHorizontalScrollIndicator =NO;//滚动条滚动的范围(垂直滚动条滚动范围上下各缩小50)_scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(50,0,50,0);//样式_scrollView.indicatorStyle =UIScrollViewIndicatorStyleWhite;//Do any additional setup after loading the view, typically from a nib.}

    - (void)viewDidLoad {

    [super viewDidLoad];//创建并添加scrollViewUIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(100,200,200,300)];

    [self.view addSubview:scrollView];

    scrollView.backgroundColor=[UIColor redColor];

    //设置内容视图的大小scrollView.contentSize = CGSizeMake(375,667);

    //设置内容视图UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,375,667)];

    imageView.image= [UIImage imageNamed:@"new_feature_1"];

    [scrollView addSubview:imageView];

    _imageView=imageView;

    //设置代理scrollView.delegate=self;

    //[self performSelector:@selector(changeScrollViewContentOffSet:) withObject:scrollView afterDelay:3];

    //设置缩放内容视图的缩放比例范围scrollView.minimumZoomScale =0.5;

    scrollView.maximumZoomScale=1.5;

    //当缩放比例超出范围之后,是否有反弹效果(no:不会超出范围,yes:超出范围之后反弹)scrollView.bouncesZoom =YES;

    //属性设置滚动至顶部

    //scrollView.scrollsToTop = YES;

    //Do any additional setup after loading the view, typically from a nib.}

    -(void)changeScrollViewContentOffSet:(UIScrollView *)scrollView{

    [scrollView setContentOffset:CGPointMake(0,300) animated:YES];

    }

    #if0#pragmamark -UIScrollViewDelegate 滚动

    //当scrollView滚动的时候,不停调用(可以监听scrollView的contentOffset)

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    //NSLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset));//NSLog(@"decelerating:%d",scrollView.decelerating);//NSLog(@"dragging:%d",scrollView.dragging);//NSLog(@"tracking:%d",scrollView.tracking);NSLog(@"%s",__func__);

    }

    //开始拖动的时候调用

    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

    //NSLog(@"tracking:%d",scrollView.tracking);NSLog(@"%s",__func__);

    }

    //called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest

    //将要结束拖动

    - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {

    //NSLog(@"velocity:%@",NSStringFromCGPoint(velocity));//NSLog(@"targetContentOffset:%@",NSStringFromCGPoint(*targetContentOffset));

    //强制设置scrollView的偏移量

    targetContentOffset = CGPointMake(0, 200);

    NSLog(@"%s",__func__);

    }

    //已经结束拖动

    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{//NSLog(@"dragging:%d",scrollView.dragging);NSLog(@"%s",__func__);

    }

    //将要开始减速

    - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{//NSLog(@"decelerating:%d",scrollView.decelerating);NSLog(@"%s",__func__);

    }

    //减速完成(停止)

    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{//NSLog(@"contentOffset:%@",NSStringFromCGPoint(scrollView.contentOffset));NSLog(@"%s",__func__);

    }

    //called when setContentOffset/scrollRectVisible:animated: finishes. not called if not animating

    - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{

    NSLog(@"%s",__func__);

    }

    #endif#pragmamark -UIScrollViewDelegate(缩放)

    //指定缩放视图

    - (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

    NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);return_imageView;

    }

    //缩放之前调用

    - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view {

    NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);

    }

    //完成缩放

    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale{

    NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);

    }

    //缩放时调用

    - (void)scrollViewDidZoom:(UIScrollView *)scrollView{

    NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);

    }

    #pragmamark -UIScrollViewDelegate(滚动至顶部)//允许滚动至顶部

    - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{returnYES;

    }

    //已经滚动至顶部

    - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{

    NSLog(@"加载新数据,刷新界面");

    }

    相关文章

      网友评论

          本文标题:scrollviewdelegate

          本文链接:https://www.haomeiwen.com/subject/edootxtx.html