缩放图片








#import "ViewController.h"

#import "PhotoScrollView.h"

@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    

    //创建滑动视图

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 395, 667)];

    scrollView.backgroundColor = [UIColor blackColor];

    

    //分页

    scrollView.pagingEnabled = YES;

    

    scrollView.delegate = self;

    

    [self.view addSubview:scrollView];

    [scrollView release];

    

//    设置内容尺寸

    scrollView.contentSize = CGSizeMake(395*5, 667);

    

    

    

    //添加图片

    for (int i = 0; i <5; i++) {

        

        

        PhotoScrollView *photoScrollView = [[PhotoScrollView alloc] initWithFrame:CGRectMake(395*i, 0, 375, 667)];

        photoScrollView.tag = 100 + i;

        

        NSString *name = [NSString stringWithFormat:@"%d.JPG",i];

        photoScrollView.img = [UIImage imageNamed:name];

        

        

        

        [scrollView addSubview:photoScrollView];

        [photoScrollView release];

        

        

        

    }

    

    

    

}



//代理方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    

//    当前页数

    

    NSInteger currentpage = scrollView.contentOffset.x/395;

    

    if (currentpage != _index) {


//        取得视图的tag

        NSInteger tagIndex = currentpage + 100;

        

        PhotoScrollView *pScrollView = (PhotoScrollView *)[scrollView viewWithTag:tagIndex];

        

        

//        还原

        [pScrollView setZoomScale:1];

    

    

    }

    

//    记录下当前的页数

    _index = currentpage;

    

    

}











#import "PhotoScrollView.h"


@implementation PhotoScrollView


- (instancetype)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

        _imgView = [[UIImageView alloc] initWithFrame:self.bounds];

        

//        设置最值

        self.maximumZoomScale = 2;

        self.minimumZoomScale = .5;

        

//        隐藏滚动条

        self.showsHorizontalScrollIndicator = NO;

        self.showsVerticalScrollIndicator = NO;

        

//        设置代理

        self.delegate = self;

        

        [self addSubview:_imgView];

        

        

        

        

    }

    return self;

}


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

    

    

    

    return _imgView;

}


- (void)setImg:(UIImage *)img{

    

    if (_img != img) {

        [_img release];

        

        _img = [img retain];

    }

    

//    给数据

    _imgView.image = _img;

}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值