zoukankan      html  css  js  c++  java
  • 1127笔记





    1.常见属性
    @property(nonatomic) CGPoint contentOffset; // 记录UIScrollView滚动的位置
    @property(nonatomic) CGSize contentSize; // 内容尺寸(能滚动的范围)
    @property(nonatomic) UIEdgeInsets contentInset; // 额外增加的滚动区域(在上下左右4个边缘)
    @property(nonatomic,assign) id delegate; // 代理对象
    @property(nonatomic) BOOL bounces; // 是否有弹簧效果
    @property(nonatomic) BOOL showsHorizontalScrollIndicator;// 是否显示水平滚动条
    @property(nonatomic) BOOL showsVerticalScrollIndicator; //是否显示垂直滚动条
    // tip : 重点掌握contentSizecontentOffsetdelegate

    2.捏合手势缩放
    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> 设置UIScrollViewdelegate为控制器(self
    2> 控制器遵守UIScrollViewDelegate协议 
    3> 控制器实现-(UIView *)viewForZoomingInScrollView:方法,返回需要缩放的子控件
    4> 设置最大和最小缩放比例

    二、代理设计模式
    1.使用场合
    1> A想让B帮忙做一些事情,就让B成为A的代理
    2> A想通知一下B发生了某些事情,或者想传递一些数据给B,就让B成为A的代理
    3> B想监听A所做的一些事情,就让B成为A的代理

    2.使用步骤
    1> 定义一份协议
    2> B要遵守协议,实现相应的方法
    3> A中要定义一个代理属性 id<协议> delegate;
    4> 创建B对象,设置Adelegate属性为B对象
    © chenyilong. Powered by Postach.io


    作者:
    出处:http://www.cnblogs.com/ChenYilong/(点击RSS订阅)
    本文版权归作者和博客园共有,欢迎转载,
    但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    .NET开源工作流RoadFlow-表单设计-组织机构选择
    .NET开源工作流RoadFlow-表单设计-按钮
    .NET开源工作流RoadFlow-表单设计-标签(label)
    git客户端使用
    简单几句概括join
    算法笔记:线段树
    通常情况下的中国剩余定理
    NOIP2016:Day2解题报告
    关于jzyzoj——P1341:被污染的牛奶的题解探讨
    关于错位排列
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3560209.html
Copyright © 2011-2022 走看看