zoukankan      html  css  js  c++  java
  • iOS常用控件-UIScrollView

    一、 常见属性

      @property (nonatomic) CGPoint contentOffset;                      //记录UIScrollView滚动的位置
      @property (nonatomic) CGSize contentSize;                          // 内容尺寸 (能滚动的范围)
      @property (nonatomic) UIEdgeInsets contentInset;                // 额外增加的滚动区域 (在上下左右4个边缘)
      @property (nonatomic, assign) id<UIScrollViewDelegate> delegate;
      @property (nonatomic) BOOL bounces;                                  // 是否有弹簧效果
      @property (nonatomic) BOOL showsHorizontalScrollIndicator;  // 是否显示水平滚动条
      @property (nonatomic) BOOL showsVerticalScrollIndicator;      // 是否显示垂直滚动条


      //重点掌握 contentSize、contentOffset、delegate


    二、捏合手势缩放

      1. 缩放原理详解
        1> 当用户尝试缩放UIScrollView的时候,UIScrollView会尝试向他的delegate (代理对象) 发送一条消息, 询问要缩放哪一个子控件。
        2> 换一种说法,也就是说,UIScrollView会尝试调用delegate的某个方法,询问要缩放的是哪一个子控件,并且该方法的返回值就是需要缩放的子控件。

      2. 缩放原理总结
        1> UIScrollView先设置delegate对象
        2> UIScrollView必须知道delegate是通过哪个方法返回需要缩放的子控件,delegate必须实现那个返回需要缩放的子控件的方法。
        3> UIScrollView要跟delegate对象协商好:用哪一个方法返回需要缩放的子控件
        4> 那个返回需要缩放的子控件的方法就是:

        - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;

      3.缩放的一般实现步骤 (比如缩放UIScrollView内部的UIImageView)
        1> 设置UIScrollView的delegate为控制器 (self)
        2> 控制器遵守UIScrollViewDelegate协议 <UIScrollViewDelegate>
        3> 控制器实现 - (UIView *)viewForZoomingInScrollView:方法, 返回需要缩放的子控件
        4> 设置最大和最小缩放比例

  • 相关阅读:
    第二周总结
    个人总结
    软件设计模式7
    软件设计模式6
    软件设计模式5
    软件设计模式4
    软件设计模式3
    软件设计模式2
    软件设计模式1
    软件构造2
  • 原文地址:https://www.cnblogs.com/nxz-diy/p/5068873.html
Copyright © 2011-2022 走看看