• 【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
  • 相关阅读:
    【模拟】HDU 5752 Sqrt Bo
    【数学】HDU 5753 Permutation Bo
    【模拟】Codeforces 706A Beru-taxi
    【二分】Codeforces 706B Interesting drink
    【动态规划】Codeforces 706C Hard problem
    【字典树】【贪心】Codeforces 706D Vasiliy's Multiset
    【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
    计算机存储单位
    转载_Linux下查看文件和文件夹大小
    反问题_不适定_正则化
  • 原文地址:https://www.cnblogs.com/akak123/p/3957910.html
Copyright © 2020-2023  润新知