• ios---scrollview用法总结


    一、使用步骤:
    1.添加子组件到scrollview //必要步骤
    2.设置clipsToBounds来确定超出范围是否被剪裁 (默认yes)
    self.scrolltest.clipsToBounds=YES;
    3.设置滚动范围 。 //必要步骤
    (这里的滚动范围是设置的contentsize宽高减去scrollview的宽高,所以当contentsize宽高小于等于scrollview的宽高的时候,是不可滚动的)
    scrollview.contentSize=CGSizeMake(, )

    二、scrollview不可滚动的原因
    1.没有正确设置scrollview.contentSize
    2..scrollEnabled属性的设置(默认为yes) self.scrolltest.scrollEnabled=NO;
    3.userInteractionEnabled属性来设置是否可以和用户交互 self.scrolltest.userInteractionEnabled=NO;
    scrollEnabled和userInteractionEnabled的区别:
    scrollEnabled只能决定是否能滚动;
    userInteractionEnabled 影响滚动 。 事件 已经scrollview子组件的所有事件

    三、scrollview基本属性
    1.是否有弹簧效果
    self.scrollview.bounces=No; (默认是yes)
    self.scrollview.alwaysBounceHorizontal //水平
    self.scrollview.alwaysBounceVertical //垂直
    ps:可不可以滚动和有没有弹簧效果是不想关的
    2.是否显示滚动条
    showsVerticalScrollIndicator; //垂直滚动条
    showsHorizontalScrollIndicator; //水平滚动条
    3. scrollview的子控件 scrollview.subviews
    ps:scrollview的子组件中默认有两个滚动条组件 。
    4.设置内容的偏移量
    scrollview.contentoffset=cgpoinntmake(x,y)
    5.cgpoint 属性的用法
    cgpoint offset=self.scrollview.contentoffset; //第一步取出属性
    offset.x=12; //设置属性
    offset.y=13;
    self.scrollview.contentoffset=offset; //赋值属性
    6.设置内边距
    self.scrollview.contentInset=UIEdgeInsetsMake(10, 20, 30, 40);

    四、scrollview代理 (其方法不是必须实现的)
    步骤:
    1、遵守协议

    2.设置代理

    3.方法实现
    (1) scrollview滚动过程中,自动调用的方法;(惯性滚动也会调用)
    -(void)scrollViewDidScroll:(UIScrollView *)scrollView;
    (2) scrollview 将要滚动的时候调用
    -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
    (3)scrollview将要停止滚动时,调用
    -(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
    (4)scrollview 已经停止滚动时,调用
    -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
    (5)scrollview滚动减速完毕后,调用 。 (ps:并不是每次拖拽都会有减速情况;所以如果要判断scrollview是否停止滚动,可以用scrollViewDidEndDecelerating,scrollViewDidEndDragging一起使用来判断)
    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
    (6)设置放大于缩小
    1.设置scrollview的代理
    2.实现如下方法
    -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    return self.imageview;
    }
    3.设置scrollview放大缩小的最大最小值
    scroll.maximumZoomScale=2.0;
    scroll.minimumZoomScale=0.5;
    (7)正在所发过程中调用的方法
    -(void)scrollViewDidZoom:(UIScrollview *)scorllview;

    五、scrollview . 分页功能
    scrollview.pagingEnabled=YES; //默认是no

  • 相关阅读:
    [湖北省队互测2014] 没有人的算术 (非题解)
    普及常见图论算法整理
    普及常见数据结构板子整理
    Pisano Period
    退役了
    LOJ3246 「USACO 2020.1 Platinum」Cave Paintings
    LOJ3193 「ROI 2019 Day2」机器人高尔夫球赛
    LOJ3192 「ROI 2019 Day2」课桌
    LOJ6496 「雅礼集训 2018 Day1」仙人掌
    Luogu P4518 [JSOI2018]绝地反击
  • 原文地址:https://www.cnblogs.com/frankltf/p/7117351.html
Copyright © 2020-2023  润新知