首页 > 代码库 > Xcode--UIScrollView与代理人模式

Xcode--UIScrollView与代理人模式

一、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与代理人模式