• UIScrollView


    一、UIScrollView

    1.常见属性

    @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; // 是否显示垂直滚动条

    // tip : 重点掌握contentSizecontentOffsetdelegate

    2.捏合手势缩放

    1> 缩放原理详解

    * 当用户尝试缩放UIScrollView的时候,UIScrollView会尝试向它的delegate(代理对象)发送一条消息,询问要缩放哪一个子控件

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

    2> 缩放原理总结

    * UIScrollView先设置delegate对象

    * UIScrollView必须知道delegate是通过哪个方法返回需要缩放的子控件,delegate必须实现那个返回需要缩放子控件的方法

    * UIScrollView要跟delegate对象协商好:用哪一个方法返回需要缩放的子控件

    * 那个返回需要缩放子控件的方法就是:

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

    3.缩放的一般实现步骤(比如缩放UIScrollView内部的UIImageView

    1> 设置UIScrollViewdelegate为控制器(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对象,设置Adelegate属性为B对象

    三、键盘处理

    1.退出键盘的2种方法

    1> 让文本框把键盘退回去(调用UITextFieldresignFirstResponder方法)

    [textField resignFirstResponder];

    2> 一次性退出任何键盘

    [self.view endEditing:YES];

    2.自定义键盘

    @property (readwrite, retain) UIView *inputView;

    3.自定义键盘顶部显示的控件

    @property (readwrite, retain) UIView *inputAccessoryView;

    四、必须掌握

    1.UIScrollViewcontentOffsetcontentSize属性

    2.UIScrollViewcontentSizeframe.size的区别

    3.UIScrollView的常见代理方法

    // UIScrollView要进行缩放的时候调用,此方法返回需要进行缩放的控件

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

    // UIScrollView滚动了就会调用

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView

    4.UIPageControl的简单使用

    * numberOfPages : 总页数

    * currentPage : 当前页码

    5.键盘的退出

    如果你错过了一天,那么你就真的错过了一天……ues.hk
  • 相关阅读:
    Linux合并iso
    Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
    hash算法-time33算法
    理解JMS规范中消息的传输模式和消息持久化
    Oracle启动
    Weblogic缓存
    shell
    Hibernate 延迟载入
    Android获取cpu使用率,剩余内存和硬盘容量
    TestNG的组測试和组中组測试
  • 原文地址:https://www.cnblogs.com/myios/p/3670685.html
Copyright © 2020-2023  润新知