IOS手指控制图片的缩放
【摘要】
//// MoveScaleImageController.h// MoveScaleImage//// Created by on 12-4-24.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.// #import <UIKit/UIKit....
-
//
-
// MoveScaleImageController.h
-
// MoveScaleImage
-
//
-
// Created by on 12-4-24.
-
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
-
//
-
-
#import <UIKit/UIKit.h>
-
#import "MoveScaleImageView.h"
-
-
@interface MoveScaleImageController : UIViewController<UIScrollViewDelegate>{
-
UIScrollView *myScrollView;
-
UIImageView *myImageView;
-
}
-
@property(retain,nonatomic)UIScrollView *myScrollView;
-
@property(retain,nonatomic)UIImageView *myImageView;
-
-
@end
-
-
-
//
-
// MoveScaleImageController.m
-
// MoveScaleImage
-
//
-
// Created by on 12-4-24.
-
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
-
//
-
-
#import "MoveScaleImageController.h"
-
-
@interface MoveScaleImageController ()
-
-
@end
-
-
@implementation MoveScaleImageController
-
@synthesize myScrollView;
-
@synthesize myImageView;
-
-
-(void)dealloc{
-
[myScrollView release];
-
[myImageView release];
-
[super dealloc];
-
}
-
-
-(void)loadView{
-
[super loadView];
-
self.view.backgroundColor = [UIColor lightGrayColor];
-
-
// UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
-
UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(110, 200, 100, 50)];
-
// [btn setFrame:CGRectMake(110, 200, 100, 40)];
-
[btn setBackgroundColor:[UIColor whiteColor]];
-
[btn setTitle:@"点击查看图片" forState:UIControlStateNormal];
-
[btn.titleLabel setFont:[UIFont systemFontOfSize:13]];
-
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
-
[btn addTarget:self action:@selector(clickEvent:) forControlEvents:UIControlEventTouchUpInside];
-
[self.view addSubview:btn];
-
[btn release];
-
-
//下面是我要剪切区域的覆盖层
-
// if(self.centerOverLayView==nil)
-
// {
-
// UIView *centerView=[[UIView alloc] initWithFrame:CGRectMake(20, 100, 280, 210)];
-
// self.centerOverLayView=centerView;
-
// [centerView release];
-
// }
-
// self.centerOverLayView.backgroundColor=[UIColor clearColor];
-
// self.centerOverLayView.layer.borderColor=[UIColor orangeColor].CGColor;
-
// self.centerOverLayView.layer.borderWidth=2.0;
-
// [self.view addSubview:self.centerOverLayView];
-
-
}
-
-
-(void)clickEvent:(id)sender{
-
NSLog(@"***********clickeventad");
-
myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
-
if(self.myScrollView==nil)
-
{
-
UIScrollView *scrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
-
self.myScrollView=scrollView;
-
[scrollView release];
-
}
-
self.myScrollView.backgroundColor=[UIColor blueColor];
-
self.myScrollView.delegate=self;
-
self.myScrollView.multipleTouchEnabled=YES;
-
self.myScrollView.minimumZoomScale=1.0;
-
self.myScrollView.maximumZoomScale=10.0;
-
[self.view addSubview:self.myScrollView];
-
-
UIImage *_image = [UIImage imageNamed:@"image.jpg"];
-
CGFloat imageView_X = (_image.size.width > self.view.frame.size.width) ? self.view.frame.size.width : _image.size.width;
-
CGFloat imageView_Y;
-
CGFloat origin;
-
if(_image.size.width > self.view.frame.size.width){
-
origin = self.view.frame.size.width/_image.size.width;
-
imageView_Y = _image.size.height*origin;
-
}
-
myImageView = [[UIImageView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-imageView_X)/2, (self.view.frame.size.height-imageView_Y)/2, imageView_X, imageView_Y)];
-
-
if(self.myImageView==nil)
-
{
-
UIImageView *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
-
self.myImageView=imageView;
-
[imageView release];
-
}
-
-
// [myImageView setImage:_image];
-
-
UIImage *originImage=[[UIImage alloc]initWithCGImage:_image.CGImage];
-
[myImageView setImage:originImage];
-
// [myImageView setFrame:CGRectMake(0, 0, _image.size.width, _image.size.height)];
-
-
[self.myScrollView addSubview:self.myImageView];
-
-
UIButton *closeBtn = [[UIButton alloc]initWithFrame:CGRectMake(10, 10, 50, 50)];
-
[closeBtn setBackgroundColor:[UIColor redColor]];
-
[closeBtn setAlpha:0.5];
-
[closeBtn addTarget:self action:@selector(closeEvent:) forControlEvents:UIControlEventTouchUpInside];
-
[self.view addSubview:closeBtn];
-
[closeBtn release];
-
-
// UIView *backView = [[UIView alloc] initWithFrame:CGRectInset(self.view.frame, 5, 5)];
-
// backView.alpha = 0.5;
-
// backView.backgroundColor = [UIColor blackColor];
-
[self.view addSubview:backView];
-
//
-
// UIImage* image=[UIImage imageNamed:@"image.jpg"];
-
// MoveScaleImageView*fileContent = [[MoveScaleImageView alloc]initWithFrame:CGRectMake(0, 44, 320, 436)];
-
// [fileContent setImage:image];
-
//
-
[backView addSubview:fileContent];
-
// [self.view addSubview:fileContent];
-
//
-
// [backView release];
-
// [fileContent release];
-
}
-
-
-(void)closeEvent:(id)sender{
-
[self.myImageView setHidden:YES];
-
[self.myScrollView setHidden:YES];
-
}
-
-
#pragma mark UIScrollView delegate methods
-
//实现图片的缩放
-
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
-
NSLog(@"**************viewForZoomingInScrollView");
-
return self.myImageView;
-
}
-
//实现图片在素芳过程中居中
-
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
-
{
-
CGFloat offsetX = (scrollView.bounds.size.width > scrollView.contentSize.width)?(scrollView.bounds.size.width - scrollView.contentSize.width)/2 : 0.0;
-
CGFloat offsetY = (scrollView.bounds.size.height > scrollView.contentSize.height)?(scrollView.bounds.size.height - scrollView.contentSize.height)/2 : 0.0;
-
self.myImageView.center = CGPointMake(scrollView.contentSize.width/2 + offsetX,scrollView.contentSize.height/2 + offsetY);
-
}
-
-
- (void)viewDidLoad
-
{
-
[super viewDidLoad];
-
// Do any additional setup after loading the view.
-
}
-
-
- (void)viewDidUnload
-
{
-
[super viewDidUnload];
-
// Release any retained subviews of the main view.
-
}
-
-
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
-
{
-
return (interfaceOrientation == UIInterfaceOrientationPortrait);
-
}
-
-
@end
文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。
原文链接:zzzili.blog.csdn.net/article/details/8448114
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)