zoukankan      html  css  js  c++  java
  • 学习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方法可以停止定时器的工作,一旦定时器被停止了,就不能再次执行任务。只能再创建一个新的定时器才能执行新的任务
  • 相关阅读:
    ES基础(五十五)在私有云与公有云上管理与部署 Elasticsearch 集群
    ES基础(五十四)如何对集群进行容量规划
    ES基础(五十二)Hot & Warm 架构与 Shard Filtering
    ES基础(四十九)集群内部安全通信
    ES基础(四十八)集群身份认证与用户鉴权
    kata + docker run & star
    libcontainer nsexec + unshare + syscall(SYS_setns
    docker createHooks
    mount namespace
    exec.Command("/proc/self/exe", "child")
  • 原文地址:https://www.cnblogs.com/zhaoyan/p/3756206.html
Copyright © 2011-2022 走看看