美文网首页iOS-布局动画
UI控件之一:UIScrollView

UI控件之一:UIScrollView

作者: 火星抄手 | 来源:发表于2016-12-03 17:00 被阅读8次

    基本的UI控件是iOS入门必备,即使是老司机也可以温故而知新。

    1、UIScrollView的常见属性

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
        scrollView.backgroundColor = [UIColor redColor];
        // 是否支持滑动最顶端
        scrollView.scrollsToTop = NO;
        scrollView.delegate = self;
        // 设置内容大小
        scrollView.contentSize = CGSizeMake(320, 460*10);
        // 是否反弹
        scrollView.bounces = NO;
        // 是否分页
        scrollView.pagingEnabled = YES;
        // 是否滚动
        scrollView.scrollEnabled = NO;
        scrollView.showsHorizontalScrollIndicator = NO;
        // 设置indicator风格
        scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
        // 设置内容的边缘和Indicators边缘
        scrollView.contentInset = UIEdgeInsetsMake(0, 50, 50, 0);
        scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 50, 0, 0);
        // 提示用户,Indicators flash
        [scrollView flashScrollIndicators];
        // 是否同时运动,lock
        scrollView.directionalLockEnabled = YES;
        [self.view addSubview:scrollView];
        
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 200, 320, 40)];
        label.backgroundColor = [UIColor yellowColor];
        label.text = @"学习scrolleview";
        [scrollView addSubview:label];
    }
    

    2、UIScrollView的代理方法

    #pragma mark UIScrollViewDelegate  
    //只要滚动了就会触发  
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView;     
    {  
        NSLog(@" scrollViewDidScroll");  
        NSLog(@"ContentOffset  x is  %f,yis %f",scrollView.contentOffset.x,scrollView.contentOffset.y);  
    }  
    //开始拖拽视图  
    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;     
    {  
       NSLog(@"scrollViewWillBeginDragging");  
    }  
    //完成拖拽  
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;   
    {  
       NSLog(@"scrollViewDidEndDragging");  
    }  
    //将开始降速时  
    - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;     
    {  
       NSLog(@"scrollViewWillBeginDecelerating");  
    }  
    
    //减速停止了时执行,手触摸时执行 
    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;     
    {  
       NSLog(@"scrollViewDidEndDecelerating");  
    }  
    //滚动动画停止时执行,代码改变时出发,也就是setContentOffset改变时  
    - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;  
    {  
       NSLog(@"scrollViewDidEndScrollingAnimation");  
    }  
    //设置放大缩小的视图,要是uiscrollview的subview  
    - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;     
    {  
       NSLog(@"viewForZoomingInScrollView");  
       return viewA;  
    }  
    //完成放大缩小时调用  
    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale;   
    {  
       viewA.frame=CGRectMake(50,0,100,400);  
       NSLog(@"scale between minimum and maximum. called after any 'bounce' animations");  
    }
    //如果你不是完全滚动到滚轴视图的顶部,你可以轻点状态栏,那个可视的滚轴视图会一直滚动到顶部,那是默认行为,你可以通过该方法返回NO来关闭它  
    - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;     
    {  
       NSLog(@"scrollViewShouldScrollToTop");  
       return YES;  
    }  
    - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;       
    {  
       NSLog(@"scrollViewDidScrollToTop");  
    }
    

    相关文章

      网友评论

        本文标题:UI控件之一:UIScrollView

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