zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    axios核心技术---1.HTTP相关
    Leetcode刷题
    Java入门13---Optional处理null对象
    Java入门12---Stream
    谈谈前后端分离及认证选择
    react监控props的变化
    如何使用懒加载
    CSS文字超出省略
    React的slot插槽
    React 的函数组件和类组件中的props
  • 原文地址:https://www.cnblogs.com/wwjwb/p/12650695.html
Copyright © 2011-2022 走看看