• IOS中UIScrollView的详细使用


    UIScrollView 是可以滚动的View

    要想让UIScrollView可以滚动,必须设置UIScrollView的contentSize

    • contentSize : 表示UIScrollView可以滚动的范围
    • scrollEnabled : NO 表示不可滚动

    UIScrollView 常用属性

    1. contentOffset
      1.1 用来描述UIScrollView滚动位置, 就是UIScrollView与内容左上角的间距值.

    1.2 我们如果想移动UIScrollView的内容的位置的话,我们可以修改此属性

    1. contentInsets
      2.1 该属性用来在UIScrollView的四周增加额外的滚动区域,一般用来避免scrollView的内容被其他控件挡住

    2.2 如下图的黄色边就是我们设置的contentInset 10

    self.scrollView.contentInset = UIEdgeInsetsMake(10, 10, 10, 10);
    

    showsHorizontalScrollIndicator 是否显示横向滚动条 , type bool
    showsVerticalScrollIndicator 是否显示纵向滚动条, typebool

    滚动条也是UIScrollView的子控件

    获取最后一个子控件

    [self.scrollView.subviews lastObject];
    

    UIScrollView代理

    如何成为UIScrollView的代理呢?

    • 前提,代理对象需要遵守协议UIScrollViewDelegate
    • 先把代理对象告诉UIScrollView , 如下,把当前controller当做UIScrollView的代理
    self.scrollView.delegate = self;
    
    • 实现方法, 比较常用的是下面几个
    /**
     * 只要拖拽就会调用这个代理方法
     */
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
        NSLog(@"拖动了-----");
    }
    
    /**
     开始拖动的时候调用
     */
    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
        NSLog(@"scrollViewWillBeginDragging----");
    }
    
    /**
        拖动完成的时候调用
     */
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
    {
        NSLog(@"停止拖拽了---");
    }
    
    /**
        此方法不一定会每次拖动都调用,只会再内容缓慢的停止的时候才会调用
     */
    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
    {
        NSLog(@"缓慢停止---");
    }
    

    IOS中代理规律

    更多内容请查看
    http://www.liyajie.net/ios-uiscrollview/

    http://www.liyajie.net/

  • 相关阅读:
    PHP-FPM详解
    Nginx与PHP交互过程 + Nginx与PHP通信的两种方式
    cgi,fast-cgi,php-cgi,php-fpm转载详解
    ( 转 ) mysql复合索引、普通索引总结
    快速搭建ELK日志分析系统
    高并发
    多线程
    关于MySQL中查询大数据量的情况下分页limit的性能优化
    电商搜索引擎的架构设计和性能优化
    MYSQL优化之碎片整理
  • 原文地址:https://www.cnblogs.com/liyajie/p/5668500.html
Copyright © 2020-2023  润新知