zoukankan      html  css  js  c++  java
  • 【ios控件】UIScrollView 事件说明

      1 //
      2 //  UIDemoViewController.m
      3 //  06-1UIScrollDemo
      4 //
      5 //  Created by k on 14-9-4.
      6 //  Copyright (c) 2014年 com.akleee.www. All rights reserved.
      7 //
      8 
      9 #import "UIDemoViewController.h"
     10 
     11 @interface UIDemoViewController ()<UIScrollViewDelegate>
     12 @property (weak, nonatomic) IBOutlet UIScrollView *scrollViw;
     13 @property (weak, nonatomic) IBOutlet UIImageView *img;
     14 
     15 - (IBAction)changeOffset:(id)sender;
     16 
     17 
     18 @end
     19 
     20 @implementation UIDemoViewController
     21 
     22 - (void)viewDidLoad
     23 {
     24     [super viewDidLoad];
     25     // Do any additional setup after loading the view, typically from a nib.
     26     //NSLog(@"%@",NSStringFromCGRect(_img.frame));
     27     
     28     //设置可移动区域
     29     _scrollViw.contentSize=_img.bounds.size;
     30     
     31     //可视窗口位置
     32     int moveTop=100,moveLeft=100;
     33     
     34     _scrollViw.contentOffset=CGPointMake(moveTop, moveLeft);
     35     
     36     //可视窗口大小
     37    //int windowW=100,windowH=400,windowX=10,windowY=20;
     38    // _scrollViw.frame=CGRectMake(windowX, windowY, windowW, windowH);
     39     
     40     //外边距
     41     int paddingT=10,paddingL=10,paddingR=20,paddingB=20;
     42     
     43     _scrollViw.contentInset=UIEdgeInsetsMake(paddingT, paddingL, paddingB, paddingR);
     44     
     45     //水平滚动条
     46 //    _scrollViw.showsHorizontalScrollIndicator=NO;
     47 //
     48 //    //垂直滚动条
     49 //    _scrollViw.showsVerticalScrollIndicator=NO;
     50     
     51     _scrollViw.delegate=self;
     52     
     53     _scrollViw.maximumZoomScale=2;
     54     
     55     _scrollViw.minimumZoomScale=0.1;
     56     
     57 }
     58 
     59 
     60 - (void)didReceiveMemoryWarning
     61 {
     62     [super didReceiveMemoryWarning];
     63     // Dispose of any resources that can be recreated.
     64 }
     65 -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
     66     //开始拖拽
     67     //NSLog(@"scrollViewWillBeginDragging %@",NSStringFromCGPoint(scrollView.contentOffset));
     68     
     69 }
     70 -(void)scrollViewDidScroll:(UIScrollView *)scrollView   {
     71     //正在拖拽
     72     //NSLog(@"scrollViewDidScroll %@",NSStringFromCGPoint(scrollView.contentOffset));
     73 }
     74 
     75 
     76 -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
     77     //拖拽结束
     78     //NSLog(@"scrollViewDidEndDragging %@",NSStringFromCGPoint(scrollView.contentOffset));
     79 }
     80 
     81 -(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
     82     //拖动后开始滑行
     83     //NSLog(@"scrollViewWillBeginDecelerating %@",NSStringFromCGPoint(scrollView.contentOffset));
     84 }
     85 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
     86 
     87     //拖动后滑行结束
     88     //NSLog(@"scrollViewDidEndDecelerating %@",NSStringFromCGPoint(scrollView.contentOffset));
     89 
     90 }
     91 -(void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
     92     //滑动到下方内容 点击系统顶部导航 自动定位到顶部时触发
     93     //NSLog(@"scrollViewDidScrollToTop %@",NSStringFromCGPoint(scrollView.contentOffset));
     94     
     95 }
     96 
     97 
     98 -(BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
     99     //滑动到下方内容 点击系统顶部导航
    100     NSLog(@"scrollViewShouldScrollToTop %@",NSStringFromCGPoint(scrollView.contentOffset));
    101     //返回是否 自动定位到顶部
    102     return NO;
    103 }
    104 
    105 -(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
    106     // 当触发[_scrollViw setContentOffset:CGPointMake(200, 200) animated:YES];后  触发此事件
    107     //如果animated:NO的话  不会触发此事件
    108     //NSLog(@"scrollViewDidEndScrollingAnimation %@",NSStringFromCGPoint(scrollView.contentOffset));
    109 }
    110 
    111 -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    112     //设置需要缩放的UIView
    113    // NSLog(@"viewForZoomingInScrollView %@",NSStringFromCGPoint(scrollView.contentOffset));
    114     
    115 
    116     return _img;
    117 
    118 }
    119 
    120 -(void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{
    121     //开始缩放
    122     NSLog(@"scrollViewWillBeginZooming");
    123     
    124 }
    125 
    126 -(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
    127 {
    128     //结束缩放
    129     NSLog(@"scrollViewDidEndZooming");
    130 
    131     
    132 }
    133 
    134 
    135 
    136 
    137 
    138 - (IBAction)changeOffset:(id)sender {
    139     NSLog(@"change offset");
    140     [_scrollViw setContentOffset:CGPointMake(200, 200) animated:NO];
    141     //_scrollViw .contentOffset=CGPointMake(200, 200);
    142 }
    143 @end
  • 相关阅读:
    Android执行时ART载入OAT文件的过程分析
    Oracle GoldenGate 支持 从SAP HANA database抽取或者复制数据到SAP HANA database 吗?
    【机房收费系统C#版】——导出Excel
    【STL容器学习】-关联容器与map的用法
    IOS
    使用Android Studio 1.3 版本号进行NDK开发
    4443: [Scoi2015]小秃玩矩阵|二分答案|匈牙利
    多版本号并发控制(MVCC)在实际项目中的应用
    memcached远程 telnet 无法连接,解决方案
    Memcached 服务器端命令
  • 原文地址:https://www.cnblogs.com/akak123/p/3957910.html
Copyright © 2011-2022 走看看