UIScrollView 图片缩放、拖拽

UIScrollView初始化:

//滚动视图
    _myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 44)];
    _myScrollView.pagingEnabled = NO; //是否翻页
    _myScrollView.showsVerticalScrollIndicator = NO;//不显示垂直方向的滚动条
    _myScrollView.bounces = YES;//遇到边框是否反弹
    [self.view addSubview:_myScrollView];

添加内容,调整UIScrollView内容宽高:

int len = 10;
    int i=0;
    UIImage *image = [UIImage imageNamed:@"bg"];
    for (; i<len; i++) {
        UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(0,i*210,320,200);
        iv.image = image;
        [_myScrollView addSubview:iv];
    }
    CGSize newSize = CGSizeMake(320, i*210);
    [_myScrollView setContentSize:newSize];

UIScrollView 实现图片缩放,拖拽:

#import <UIKit/UIKit.h>
@interface ImageViewController : UIViewController<UIScrollViewDelegate>{
    UIImage *image;
    UIView *myView;
    UIScrollView *myScrollView;
    CGFloat imageWidth,imageHeight;
    CGFloat originalX,originalY,originalW,originalH;
    CGFloat distStart,distEnd,scale;
}
@property(nonatomic,strong) UIImage *image;
@property(nonatomic,strong) UIView *myView;
@property(nonatomic,strong) UIScrollView *myScrollView;@end
@implementation ImageViewController
@synthesize image = _image,myView = _myView;
@synthesize myScrollView = _myScrollView;
- (void)viewDidLoad{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    
    //myscrollview
    _myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 416)];
    [_myScrollView setDelegate:self];
    [_myScrollView setShowsHorizontalScrollIndicator:NO];
    [_myScrollView setShowsVerticalScrollIndicator:NO];
    [_myScrollView setMaximumZoomScale:2.0];
    [self.view addSubview:_myScrollView];
    imageWidth = _image.size.width;
    imageHeight = _image.size.height;
    _myView = [MyImage makeViewWithFrame:CGRectMake(0, 0, 320, 416) Image:_image];//此处传入_image获取一个全屏显示的view
    [_myScrollView setContentSize:CGSizeMake(320, 416)];
    [_myScrollView setMinimumZoomScale:1];
    [_myScrollView setZoomScale:[_myScrollView minimumZoomScale]];
    [_myScrollView addSubview:_myView];
    _myView.userInteractionEnabled = YES;
    //单击_myView
    UITapGestureRecognizer *singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleRecognizer:)];
    [_myView addGestureRecognizer:singleRecognizer];
}

-(void)singleRecognizer:(id)sender{
    NSLog("点击了");
}

#pragma UIScrollViewDelegate Methods
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    return _myView;
}

转载于:https://www.cnblogs.com/tqspring/archive/2012/11/19/2777105.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值