UIScrollView的簡單用法總結

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor yellowColor];

    // Do any additional setup after loading the view.

    

    //UIScrollView  的使用

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 335, 607)];

    

    //指定一個滾動的範圍

    

    //寫成0, 或者是小於自己設定的範圍, 可以控制滾動的形式(上下/左右)

    scrollView.contentSize = CGSizeMake(1000, 1000);

    //圖片的大小, 恢復原狀

    scrollView.zoomScale = 1;

    

    //scrollView滾動到的位置

    //本質上, scrollView的左上角的點, 相對於自己座標系的位置

    // scrollView.contentOffset = CGPointMake(100, 100);


    //按頁翻, 按照scrollView的大小, 一翻翻一頁

    scrollView.pagingEnabled = YES;

    

    //控制scrollView是不是可以滾動

    scrollView.scrollEnabled = YES;

    

    //返回頂部, 點擊狀態欄, 返回頂部

    scrollView.scrollsToTop = YES;

    

    //關閉邊緣的彈動效果, 不能彈出邊緣, 下拉刷新, 一定要設置爲YES

    //scrollView.bounces = NO;

    

    //顯示/關閉  橫向滾動條

    //scrollView.showsHorizontalScrollIndicator = NO;

    //顯示/關閉  縱向滾動條

    //scrollView.showsVerticalScrollIndicator = NO;

    scrollView.delegate = self;

    

    //scrollView的方法縮小

    //1, 設置scrollView的縮放範圍

    scrollView.maximumZoomScale = 2;

    scrollView.minimumZoomScale = 0.5;

    

    scrollView.backgroundColor = [UIColor purpleColor];

    [self.view addSubview:scrollView];

    [scrollView release];

    

    //添加一個圖片

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 335, 300)];

    imageView.image = [UIImage imageNamed:@"3.jpg"];

    [scrollView addSubview:imageView];

    [imageView release];

    

    //指示當前在第幾頁

    UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(20, 637, 335, 30)];

    pageControl.backgroundColor = [UIColor redColor];

    //設置總共有多少頁

    pageControl.numberOfPages = 10;

    //當前的page的顏色(就是當前的點的顏色)

    pageControl.currentPageIndicatorTintColor = [UIColor cyanColor];

    //沒選中點的顏色

    pageControl.pageIndicatorTintColor = [UIColor yellowColor];

    [self.view addSubview:pageControl];

    [pageControl release];

    //pageCrotrol的事件綁定是valueChanged

    [pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];

    

    

    

}

- (void)pageAction:(UIPageControl *)pageControl

{

    NSLog(@"換頁");

    NSLog(@"%ld", pageControl.currentPage);

}


//系統協議的標記(寫到協議方法的時候, 進行標記)

#pragma mark - scrollView 的協議方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

{

    //判斷偏移量

    NSLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset));

    NSLog(@"偏移值改變");

}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

    NSLog(@"scrollView開始拖拽的時候");

}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

{

    //當結束拖拽的時候, 滾動還會進行一會

    NSLog(@"scrollView已經結束拖拽的時候");

}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

{

    //將要開始減速

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

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

    //已經結束減速

    NSLog(@"scrollView已經結束減速");

}


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

{

    //scrollView方法縮小(只能指定一個)

    //2. 指定一個scrollView的子視圖, 隨着scrollView縮放

    //獲取第一個子視圖

    UIView *view = [scrollView.subviews firstObject];

    

    return view;

    

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章