zoukankan      html  css  js  c++  java
  • UIKit

    UIScrollView滚动

    三大属性:

    self.scrollView.pageEnabled = NO  是否分页;n只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示

    contentSize    设置的是要展示的内容的大小  size(如果小于scrollView的frame将无法滚动)
    contentInset  是在contentSize的基础上额外增加的滚动区域 
    //self.scrollView.contentInset = UIEdgeInsetsMake(上,左, 下,右)
    设置scrollView的frame  是scrollView的可视范围
    contentOffset 是scrollView 滚动的位置(相对于整个内容(contentSize)的左上角为原点 )
        // 设置最大和最小的缩放比例
        self.scollView.maximumZoomScale = 2.0;
        self.scollView.minimumZoomScale = 0.2;
     
    UIScrollViewDelegate  代理方法
     
    //使用捏合手势的时候调用
    - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
     //将要进行缩放的时候
    - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
    //结束缩放时调用
    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
       - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
    {    只要一次拖拽没有结束,就不会再调用.一次拖拽,只会调用一次
        NSLog(@"---开始拖拽-----");
    }
     
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {   只要是在滚动,就会一直调用整个方法
                NSLog(@"----正在滚动----");
    }
     
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
    {   一次拖拽,只会调用一次
        NSLog(@"-----已经结束拖拽-----);
    }
     
      如果UIScrollView无法滚动,可能是以下原因:
      没有设置contentSize
      scrollEnabled = NO
      没有接收到触摸事件:userInteractionEnabled = NO
      没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)
        
      @property(nonatomic) BOOL bounces;
      设置UIScrollView是否需要弹簧效果

      @property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
      设置UIScrollView是否能滚动

      @property(nonatomic) BOOL showsHorizontalScrollIndicator;
      是否显示水平滚动条

      @property(nonatomic) BOOL showsVerticalScrollIndicator;
      是否显示垂直滚动条
     
          
           缩放实现步骤
      1.设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象
      2.设置minimumZoomScale :缩小的最小比例
      3.设置maximumZoomScale :放大的最大比例
      4.让代理对象实现下面的方法,返回需要缩放的视图控件

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

      跟缩放相关的其他代理方法
      缩放完毕的时候调用
      - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view 
      正在缩放的时候调用
      - (void)scrollViewDidZoom:(UIScrollView *)scrollView
  • 相关阅读:
    《GDB常用基本》
    《Linux守护进程》
    <C语言知识点 —— 数组赋值字符串>
    《Linux知识点》
    玩转----select模块操作下拉框-selenium
    玩转----selenium--下拉框select
    玩转----selenium-滚动条的几种方式
    玩转----python-装饰器
    玩转----解决selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid 'expiry'
    玩转----iframe框架怎样来定位,并说明iframe框架中不变和可变的属性分别是什么?多个iframe框架怎么处理?iframe和frame区别:
  • 原文地址:https://www.cnblogs.com/1023843587qq/p/4963318.html
Copyright © 2011-2022 走看看