Day.03.04 UIScrollView 滑動(dòng)代理方法

#import "ViewController.h"

#define KScreenW [UIScreen mainScreen].bounds.size.width
#define KScreenH [UIScreen mainScreen].bounds.size.height

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    /*——————————————————————————UIScrollView 滑動(dòng)視圖————————————————————————————————————————————————————-*/

    //1.創(chuàng)建
    UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, KScreenW, KScreenW)];
    
    scrollView.backgroundColor = [UIColor grayColor];
    
    [self.view addSubview:scrollView];
    
    //2.
        //1.尺寸
    scrollView.contentSize = CGSizeMake(5 * KScreenW, KScreenW);
    
        //2.是否開啟分頁(yè) 默認(rèn)NO
    scrollView.pagingEnabled = YES;
    
        //3.是否開啟滾動(dòng)條 默認(rèn)YES
            //水平
    scrollView.showsHorizontalScrollIndicator = YES;
            //垂直
    scrollView.showsVerticalScrollIndicator = NO;
    
        //4.滑動(dòng)條樣式
    /**
     *
     UIScrollViewIndicatorStyleDefault,     // black with white border. good against any background 系統(tǒng)默認(rèn)滑動(dòng)條
     UIScrollViewIndicatorStyleBlack,       // black only. smaller. good against a white background 黑色的滑動(dòng)條
     UIScrollViewIndicatorStyleWhite        // white only. smaller. good against a black background 白色的滑動(dòng)條
     */
    scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    
        //5.是否開啟首位反彈效果 默認(rèn)YES
            //滑動(dòng)
    scrollView.bounces = YES;
            //縮放
    scrollView.bouncesZoom = YES;
    
        //6.是否開啟滾動(dòng) 默認(rèn)YES
    scrollView.scrollEnabled = YES;
    
        //7.item的偏移量
//    scrollView.contentInset = UIEdgeInsetsMake(0, 50, 0, 50);
    
        //8.content 的偏移量
//    scrollView.contentOffset = CGPointMake(2*KScreenW, 0);
        //兩秒后才偏移
//    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//        
//        [scrollView setContentOffset:CGPointMake(2 *KScreenW, 0) animated:YES];
//    });
    
    //8.設(shè)置代理對(duì)象,(※※※)重要
    scrollView.delegate = self;
    
    
    
    //獲取圖片
    for (int i = 0; i < 5; i++) {
        //獲取照片
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"scene%d.jpg",i+1]];
        
                                                                //imageView的大小
        UIImageView *imageV = [[UIImageView alloc]initWithFrame:CGRectMake(i* KScreenW, 0, KScreenW, KScreenW)];
        
        //把圖片放入圖片視圖
        imageV.image = image;
        
        //把圖片視圖放入scrollView里
        [scrollView addSubview:imageV];
        
    }
}

#define mark --UIScrollViewDelegate

//將要開始拖動(dòng)時(shí)
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

    NSLog(@"將要開始拖動(dòng)");
}

//正在滑動(dòng)中
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    //滑動(dòng)中x表示在整個(gè)視圖中的位置
//    NSLog(@"x -> %f",scrollView.contentOffset.x);
}

//將要結(jié)束拖動(dòng)時(shí) 手指離開屏幕
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout nonnull CGPoint *)targetContentOffset{

    NSLog(@"%@",NSStringFromCGPoint(velocity));
    
    NSLog(@"%f  %f",targetContentOffset->x,targetContentOffset->y);
    
    NSLog(@"將要結(jié)束拖動(dòng)時(shí)");
}

//已經(jīng)結(jié)束拖動(dòng)時(shí)
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

    if (decelerate == YES) {
        
        NSLog(@"正在減速");
    }
    NSLog(@"已經(jīng)結(jié)束拖動(dòng)");
}

//將要開始減速時(shí)
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{

    NSLog(@"將要開始減速");
}

//已經(jīng)結(jié)束減速時(shí)
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    NSLog(@"已經(jīng)結(jié)束減速");
}

//已經(jīng)結(jié)束滑動(dòng)動(dòng)畫時(shí)
- (void)scrollViewDidEndScrollingAnination:(UIScrollView *)scrollView{

    NSLog(@"已經(jīng)結(jié)束滑動(dòng)動(dòng)畫時(shí)");
}

////滑動(dòng)到頂部
//- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
//
//    NSLog(@"top");
//    return YES;
//}
////已經(jīng)滑動(dòng)到頂部
//- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
//
//    NSLog(@"已經(jīng)滑動(dòng)到頂部");
//}



//縮放時(shí)調(diào)用
//- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
//}
//返回一個(gè)將要縮放的視圖
//- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
//    return nil;
//}
//將要開始縮放時(shí)
//- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view{}
//已經(jīng)結(jié)束縮放時(shí)
//- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale{}



@end

2016-03-04 17:14:15.579 自定義分頁(yè)[2549:256434] 將要開始拖動(dòng)
2016-03-04 17:14:16.290 自定義分頁(yè)[2549:256434] {0, 0}
2016-03-04 17:14:16.290 自定義分頁(yè)[2549:256434] 0.000000  0.000000
2016-03-04 17:14:16.291 自定義分頁(yè)[2549:256434] 將要結(jié)束拖動(dòng)時(shí)
2016-03-04 17:14:16.291 自定義分頁(yè)[2549:256434] 正在減速
2016-03-04 17:14:16.291 自定義分頁(yè)[2549:256434] 已經(jīng)結(jié)束拖動(dòng)
2016-03-04 17:14:16.292 自定義分頁(yè)[2549:256434] 將要開始減速
2016-03-04 17:14:16.678 自定義分頁(yè)[2549:256434] 已經(jīng)結(jié)束減速

屏幕快照 2016-03-04 下午5.14.25.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容