首页 > 代码库 > 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与代理人模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。