• 学习IOS开发UI篇--UIScrollView/delegate/pagecontrol/UITimer


    1.UIscrollView的属性
    ==================================================
    1.1 常见属性
    @property(nonatomic) CGPoint contentOffset;
    这个属性用来表示UIScrollView滚动的位置
     
    @property(nonatomic) CGSize contentSize;
    这个属性用来表示UIScrollView内容的尺寸,滚动范围(能滚多远)
     
    @property(nonatomic) UIEdgeInsets contentInset;
    这个属性能够在UIScrollView的4周增加额外的滚动区域
    1.2 其他属性
    @property(nonatomic) BOOL bounces;
    设置UIScrollView是否需要弹簧效果
     
    @property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
    设置UIScrollView是否能滚动
     
    @property(nonatomic) BOOL showsHorizontalScrollIndicator;
    是否显示水平滚动条
     
    @property(nonatomic) BOOL showsVerticalScrollIndicator;
    是否显示垂直滚动条
     
    2.UIScrollView的缩放和分页
    ==================================================
    1.代理模式
     
    1.1代理思想两个思想

        1).监听思想:B监听A发生了什么事情

        2).通知思想:A发生了一些事情,要通知B去做

    1.2scrollView的代理使用

        1).如何成为代理(三步)

            *声明协议

            *设置代理对象self.scrollView.delegate = self;

            *实现协议方法

        2).代理监听scrollView的拖拽事件

        3).用代理实现缩放

            *成为UIScrollView的代理()

            *设置缩放对象(通过viewForZoomingInScrollView方法)

            *设置缩放为范围(maximumZoomScaleminimumZoomScale

    2.分页

    1.只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示
     
    2.一般会配合UIPageControl增强分页效果,UIPageControl常用属性如下
    一共有多少页
    @property(nonatomic) NSInteger numberOfPages;
     

     当前显示的页码

    @property(nonatomic) NSInteger currentPage;
     

    只有一页时,是否需要隐藏页码指示器

    @property(nonatomic) BOOL hidesForSinglePage;

    其他页码指示器的颜色
    property(nonatomic,retain) UIColor *pageIndicatorTintColor;
    当前页码指示器的颜色
    @property(nonatomic,retain) UIColor *currentPageIndicatorTintColor;
    3.定时器
    ==================================================

    + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL);

    - (void)invalidate;

    通过invalidate方法可以停止定时器的工作,一旦定时器被停止了,就不能再次执行任务。只能再创建一个新的定时器才能执行新的任务
  • 相关阅读:
    基于Oracle的Mybatis 批量插入
    java.lang.ClassCastException: com.sun.proxy.$Proxy32 cannot be cast to com.bkc.bpmp.core.cache.MemcachedManager
    理解 Mybatis的分页插件 PageHelper
    手机注册获取验证码的PHP代码
    php分页代码简单实现
    PHP简单漂亮的分页类
    PHP实现各种经典算法
    Vue 入门指南 JS
    php 经典的算法题你懂的
    WebService 之 WSDL文件 讲解
  • 原文地址:https://www.cnblogs.com/zhaoyan/p/3756206.html
Copyright © 2020-2023  润新知