iOS开发

UIScrollView的介绍和原理

2019-04-12  本文已影响2人  追逐_chase

UIScrollView 滚动视图

常用的属性

 // 1.UIImageView
    UIImage *image = [UIImage imageNamed:@"minion"];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    [self.scrollView addSubview:imageView];
    
    // 2.设置contentSize 内容的size
    self.scrollView.contentSize = image.size;
    //设置 弹簧效果
    self.scrollView.bounces = YES;
    //设置 水平 和 垂直 方向的弹簧效果 o默认是NO
    //这2个属性一般用于 上啦和下拉 刷新的控件显示
    self.scrollView.alwaysBounceVertical = YES;
    self.scrollView.alwaysBounceHorizontal = YES;
    //是否显示滚动条
    self.scrollView.showsVerticalScrollIndicator = YES;
    self.scrollView.showsHorizontalScrollIndicator = YES;
    //内容便宜量,
    //作用:
    // 控制内容滚动的位置
    // 可以获取到 内容滚动的位置
    self.scrollView.contentOffset = CGPointMake(200, 100);
    //设置代理  组训协议
    self.scrollView.delegate = self;

代理 方法

//开始拖拽的时候调用
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    
}
// scrollView会自动调用 只要滚动就会调用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    
}

// 拖拽结束
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    
}


// 滚动结束
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
    
}


//手势缩放代理方法  记得设置缩放比例

- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    
    UIView *view = [[UIView alloc] init];
    //返回需要缩放的子控件
    return view;
}


scrollView的原理

bounds属性的深入了解

//俯视图View 没有设置bounds属性
UIView *boundsView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 270, 300)];
boundsView.backgroundColor = [UIColor orangeColor];
 [self.view addSubview:boundsView];
 
 //子视图
  UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 50, 50)];
 subView.backgroundColor = [UIColor redColor];
 [boundsView addSubview:subView];

下图:

bounds_01.png bounds_02.png

利用原理自己定义个一UIScrollView 下面介绍

上一篇 下一篇

猜你喜欢

热点阅读