简易相册Demo

MainViewController.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
// 创建底层scrollView
    _bigScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
// 定义底层颜色
    _bigScrollView.backgroundColor = [UIColor blueColor];
// 设置滚动范围
    _bigScrollView.contentSize = CGSizeMake(2240, 0);
// 底层scrollView添加协议
    _bigScrollView.delegate = self;
// 到达边缘后没有弹动效果
    _bigScrollView.bounces = NO;
// 分页显示
    _bigScrollView.pagingEnabled = YES;
    
    [self.view addSubview:_bigScrollView];
    
    [_bigScrollView release];
// 创建上层scrollView
    for (int i = 0; i < 7; i++) {
        _scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(i * 320, 0, 320, 480)];
        
        _scrollView.maximumZoomScale = 3.0;
        
        _scrollView.minimumZoomScale = 0.5;
        
        _scrollView.delegate = self;
        
        [_bigScrollView addSubview:_scrollView];
        
// 创建相框
        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
        
        
        NSString *imageName = [NSString stringWithFormat:@"%d.jpg",i];
        
        imageView.image = [UIImage imageNamed:imageName];
        
        [_scrollView addSubview:imageView];
        
        [imageView release];
        
        [_scrollView release];
    }
    
    

    _pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 460, 320, 20)];
    
    _pageControl.currentPageIndicatorTintColor = [UIColor redColor];
// 显示点的个数
    _pageControl.numberOfPages = 7;
    
    [_pageControl addTarget:self action:@selector(pageControl:) forControlEvents:UIControlEventValueChanged];
    
    [self.view addSubview:_pageControl];
    
    [_pageControl release];
}


- (void)pageControl:(UIPageControl *)pageControl
{
    [_bigScrollView setContentOffset:CGPointMake(pageControl.currentPage * 320, 0) animated:YES];
    
    NSArray *array = [_bigScrollView subviews];
    
    for (UIScrollView *scrollView in array) {
        if ([scrollView isKindOfClass:[UIScrollView class]] ) {
            scrollView.zoomScale = 1;
        }
    }
}


- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    int pageNumber = scrollView.contentOffset.x / scrollView.frame.size.width;
    
    _pageControl.currentPage = pageNumber;
    
}


- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    NSArray *array = [scrollView subviews];
    
    UIImageView *imageView = [array firstObject];
    
    return imageView;
}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    NSArray *array = [_bigScrollView subviews];
    
    if (scrollView == _bigScrollView) {
        for (UIScrollView *scrollView in array) {
            if ([scrollView isKindOfClass:[UIScrollView class]]) {
                scrollView.zoomScale= 1.0;
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值