zoukankan      html  css  js  c++  java
  • iOS开篇——UI之UIScrollView

     1 //创建一个全屏大小的scrollerView
     2     UIScrollView * scrollerView = [[UIScrollView alloc]initWithFrame:self.view.bounds] ;
     3     //添加到self.view上
     4     [self.view addSubview:scrollerView];
     5     
     6     //创建一个图片
     7     UIImage * image1 = [UIImage imageNamed:@"1"];
     8     
     9     //设置scrollerView的移动范围 ********
    10     //如果不设置 默认是scrollerView的本身大小移动范围
    11     //如果子视图大小没超过scrollerView的自身大小 则不会移动
    12     scrollerView.contentSize = CGSizeMake(image1.size.width, image1.size.height);
    13     
    14     //设置子视图的偏移量 **********
    15 //    [scrollerView setContentOffset:CGPointMake(200, 200)animated:YES];
    16     //不带动画
    17 //    scrollerView.contentOffset = CGPointMake(200, 200) ;
    18     
    19     //设置scrollerView子视图距离它本身的位置
    20 //    scrollerView.contentInset = UIEdgeInsetsMake(10, 10, 30, 30) ;
    21     //是否反弹 默认YES可以超出边界   设置为NO不可超出边界 且不可反弹
    22     scrollerView.bounces = YES;
    23     
    24     //设置垂直和水平 滚动条是否出现
    25     scrollerView.showsHorizontalScrollIndicator = YES;
    26     scrollerView.showsVerticalScrollIndicator = YES;
    27     
    28     //设置缩放比例大小
    29     scrollerView.minimumZoomScale = 0.5;
    30     scrollerView.maximumZoomScale = 2;
    31     
    32     //设置滚动条与scrollerView边界的最小距离
    33     scrollerView.scrollIndicatorInsets = UIEdgeInsetsMake(10, 10, 10, 10);
    34     //设置滚动条样式
    35     scrollerView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    36     /*
    37      typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) {
    38      UIScrollViewIndicatorStyleDefault,     // black with white border. good against any background
    39      UIScrollViewIndicatorStyleBlack,       // black only. smaller. good against a white background
    40      UIScrollViewIndicatorStyleWhite        // white only. smaller. good against a black background
    41      };
    42      */
    43     
    44     //设置代理
    45     scrollerView.delegate = self;
    46     
    47     //往scrollerView上添加图片
    48     [scrollerView addSubview: [[UIImageView alloc]initWithImage:image1]];
    49     
    50     //设置拖动惯性 数字越大 停下来越慢
    51     scrollerView.decelerationRate = 1;

    UIScrollViewDelegate 代理方法

     1 #pragma mark - delegate方法
     2 
     3 //scrollView正在滚动
     4 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
     5 //    NSLog(@"正在滚动");
     6 }
     7 
     8 //将要开始手指拖动
     9 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    10     NSLog(@"将要开始拖动");
    11 }
    12 
    13 //将要停止手指拖动
    14 //第一个参数为它本身   第二个参数为加速度(惯性)  第三个参数为要停到的位置 停止拖动时已经计算好
    15 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
    16     
    17     NSLog(@"将要停止拖动");
    18     
    19 }
    20 //已经结束手指拖动
    21 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    22     NSLog(@"已经停止拖动");
    23 }
    24 
    25 
    26 //将要开始惯性滑动
    27 - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    28     NSLog(@"将要开始惯性滑动");
    29 }
    30 
    31 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    32     NSLog(@"已经结束惯性滑动");
    33     
    34     //设置偏移量为(0,0)点
    35 //    [scrollView setContentOffset:CGPointZero animated:YES];
    36 }
    37 
    38 //已经结束位移动画
    39 - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
    40     NSLog(@"已经结束位移动画");
    41 }
    42 
    43 - (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    44     NSLog(@"发生了缩放");
    45     
    46 }
    47 - (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    48     //返回值为要缩放的视图
    49     return scrollView.subviews[0];
    50 }
    51     //将要开始缩放
    52 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view {
    53 
    54     NSLog(@"将要开始缩放");
    55 }
    56 //已经结束缩放
    57 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale{
    58     NSLog(@"已经结束缩放");
    59 }
    60 
    61 //能否按顶部返回顶端
    62 - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
    63     return YES;
    64 }
    65 //已经跳到顶端
    66 - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
    67     NSLog(@"已经回到顶端");
    68 }
  • 相关阅读:
    linux下的grep命令
    linux下的ps命令
    删除eclipse无效的工作空间路径
    js中 var functionName = function() {} 和 function functionName() {} 两种函数声明的区别
    javascript中的function 函数名(){} 和 函数名:function(){}有什么不同
    Python之路-python(css布局、JavaScript)
    Python之路-python(css、JavaScript)
    Python之路-python(html、css)
    Python之路-python(堡垒机)
    Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)
  • 原文地址:https://www.cnblogs.com/gwkiOS/p/5005886.html
Copyright © 2011-2022 走看看