码迷,mamicode.com
首页 > 其他好文 > 详细

Xcode--UIScrollView与代理人模式

时间:2014-12-05 10:26:31      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   sp   for   on   数据   div   

一、UIScrollView
(1).常见属性
@property(nonatomic) CGPoint contentOffset; //记录UIScrollView滚动的位置
@property(nonatomic) CGSize contentSize; //内容尺寸(能滚动的范围)
@property(nonatomic,assign) id<UIScrollViewDelegate> delegate; //代理对象
@property(nonatomic) BOOL bounces;  //是否有弹簧效果
@property(nonatomic) BOOL showsHorizontalScrollIndicator; //是否显示水平滚动条
@property(nonatomic) BOOL showsVerticalScrollIndicator; //是否显示垂直滚动条
// tip : 终点掌握contentSize、contentOffset、delegate

(2).捏合手势缩放
    1.缩放原理详解
         1>当用户尝试缩放UIScrollView的时候,scrollView会尝试向它的delegate(代理对象)发送一条消息,询问要缩方哪一个子控件

        2>换种说话,也就是说,scrollView会尝试调用delegate的某个方法,询问要缩放哪一个子控件,并且该方法的返回值就是需要缩放的子控件

    2.缩放原理总结
        1>UIScrollView先设置delegate对象
        2>UIScrollView必须知道delegate是通过哪个方法返回需要缩放的子控件,delegate必须实现那个返回需要缩放子控件的方法
        3>UIScrollView要跟delegate对象协商好:用哪一个方法返回需要缩放的子控件 
        4>那个返回需要缩放子控件的方法就是:
            - (UIView *)viewForZoomingInScrollView:
    
    3.缩放的一半实现步骤(比如缩放UIScrollView内部的UIImageView)
        1>设置scrollView的delegate为控制器(self)
        2>控制器遵守UIScrollViewDelegate协议 <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对象,设置A的delegate属性为B对象

 

Xcode--UIScrollView与代理人模式

标签:style   blog   color   使用   sp   for   on   数据   div   

原文地址:http://www.cnblogs.com/ZhangYuGe/p/4145939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!