zoukankan      html  css  js  c++  java
  • 照片浏览滑动效果UIScrollView和UIPageControl组合

    - (void)changePage:(UIPageControl *)pageControl{
    
        [_scrollView setContentOffset:CGPointMake(pageControl.currentPage*ScreenWidth, 0) animated:YES];
    }
    
    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
     
        _pageControl.currentPage = _scrollView.contentOffset.x/320;
    }

    上面是主要的代码。

    初始化uiscrolview 和 pagecontrol

    _mPictureArray = [NSMutableArray array];
        _scrollView = [[UIScrollView alloc] init];
        _scrollView.delegate = self;
        _scrollView.backgroundColor = [UIColor whiteColor];
        _scrollView.contentSize = CGSizeMake(ScreenWidth*3,0);
        _scrollView.pagingEnabled = YES;
        
        [self.view addSubview:_scrollView];
        [_scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(0, 0, 0, 0));
        }];
        
        for(int i=0;i<3;i++){
         
            UIImageView *contentImageView = [[UIImageView alloc] init];
            contentImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",i+1]];
            [_scrollView addSubview:contentImageView];
            [contentImageView mas_makeConstraints:^(MASConstraintMaker *make) {
                make.width.with.equalTo(self.view);
                make.height.with.equalTo(self.view);
                make.left.equalTo(_scrollView).with.offset(ScreenWidth*i);
            }];
            [_mPictureArray addObject:contentImageView];
        }
        
        _pageControl = [[UIPageControl alloc] init];
        _pageControl.numberOfPages = 3;
        _pageControl.currentPage = 0;
        _pageControl.pageIndicatorTintColor = [UIColor redColor];
        [_pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
        [self.view addSubview:_pageControl];
        [_pageControl mas_makeConstraints:^(MASConstraintMaker *make) {
            make.width.equalTo(self.view);
            make.centerX.equalTo(self.view);
            make.top.equalTo(self.view).with.offset(ScreenHeight-50);
            make.height.offset(30);
        }];
  • 相关阅读:
    1 说在前面的一些话,给想学习编程的人
    springboot使用api操作HBase之shell
    HBase的安装及使用
    spring boot 多数据源加载原理
    架构师之路
    Libra和中国央行数字货币(DCEP)的对比
    微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨
    海底光缆知识科普
    jmeter安装配置教程及使用
    CountDownLatch 部分加载和同时并发业务。
  • 原文地址:https://www.cnblogs.com/machealking/p/5116736.html
Copyright © 2011-2022 走看看