UIScrollView

使用场景:当内容数据一多,在可视的View中就展示不完,这时候就需要用到UIScrollView控件

contentSize设置内容尺寸:UIScrollView会隐藏超出内容的部分,相当于scrollView默认设置了clipToBounds为YES

UIScrollView无法滚动的原因:

  • 没有设置contentSize,或者设置的contenSize小于等于scrollView的尺寸
  • scrollEnable = NO;
  • userInteractionEnable = NO; // 是否允许与用户交互

UIScrollView的frame决定了可视范围,contentSize决定了内容滚动的范围

属性:

self.scrollViewbounces = NO;//去除弹簧效果
self.alwaysBounceVertical=YES;
self.alwaysBounceHorizontal=YES;//不管有没有contentSize,总是有弹簧效果;作用:用来做下拉刷新和上拉刷新的
self.indicatorStyle=  //设置滚动条的颜色
self.scorllView.subViews //查看UIScrollView中有多少个子控件
contentOffSet:控制内容的滚动,也称为内容的偏移量
contentInset设置内边距(增加额外的滚动区域)
 self.scrollView.pageEnable = YES;//分页的标准:以scrollView的尺寸为一页

self.scrollView.maximumZoomScale = 2.0;//设置缩放比例
self.scrollView.minimumZoomScale = 0.2;

代理:

  监听器的作用,可以监听UIScrollView的各种事件(只要成为UIScrollView的代理,就能监听UIScrollView的行为)

  当UIScrollView发生一系列行为时,就会告诉代理(滚动了、点击了、拖拽了)

  代理id类型,且必须是弱指针

  步骤:

  1. 设置scrollView的delegate(代理)代理对象一般是(控制器对象)
  2. 控制器要遵守协议UIScrollViewDelegate协议
  3. 控制器要实现UIScrollViewDelegate协议里面的方法

  常用代理方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
-(void)scrollViewWillEndDragging..
-(void)scrollViewDidEndDragging...
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

 

posted @ 2020-04-07 00:10  千面客  阅读(336)  评论(0编辑  收藏  举报