此demo用到了block来抽取重复代码,使demo代码美观。
目前还有个BUG,旋转后,上下移动会导致图片消失。
// // HelloWorldViewController.h // 图片移动 // // Created by mahongmin on 14-5-10. // Copyright (c) 2014年 mahongmin. All rights reserved. // #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController @property (weak, nonatomic) IBOutlet UIButton *btn_show; @property (weak, nonatomic) IBOutlet UIImageView *flowerImage; - (IBAction)move:(id)sender; - (IBAction)rotation:(id)sender; - (IBAction)zoom:(id)sender; - (IBAction)restore:(id)sender; - (void)btnClickWithBlock:(void (^)())block; @end
===============
// // HelloWorldViewController.m // 图片移动 // // Created by mahongmin on 14-5-10. // Copyright (c) 2014年 mahongmin. All rights reserved. // #import "HelloWorldViewController.h" @interface HelloWorldViewController () { CGRect initRect; } @end @implementation HelloWorldViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. initRect = self.flowerImage.frame; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* 主义block用法 -(void)btnClickWithBlock:(void(^)())abc{ } (void(^)())是block类型 abc是block的形参 */ - (void)btnClickWithBlock:(void (^)())block { [UIView beginAnimations:NULL context:NULL]; [UIView setAnimationDuration:1]; block(); [UIView commitAnimations]; } #pragma mark - 控制图片上下所有移动 - (IBAction)move:(id)sender { [self btnClickWithBlock:^{ CGRect frame = self.flowerImage.frame; int delta = 50; switch ([sender tag]) { case 0://上 frame.origin.y -= delta; break; case 1://右 frame.origin.x += delta; break; case 2://下 frame.origin.y += delta; break; case 3://左 frame.origin.x -= delta; break; default: break; } self.flowerImage.frame = frame; }]; } #pragma mark - 旋转 - (IBAction)rotation:(id)sender { [self btnClickWithBlock:^{ self.flowerImage.transform = CGAffineTransformRotate(self.flowerImage.transform, [sender tag] == 4 ? -M_PI_4 : M_PI_4); }]; } #pragma mark - 放大缩小 - (IBAction)zoom:(id)sender { [self btnClickWithBlock:^{ CGFloat scale = [sender tag] == 6 ? 1.1 : 0.9; self.flowerImage.transform = CGAffineTransformScale(self.flowerImage.transform, scale, scale); }]; } - (IBAction)restore:(id)sender { [self btnClickWithBlock:^{ self.flowerImage.frame = initRect; self.flowerImage.transform = CGAffineTransformIdentity; }]; } @end
相关推荐
实现了图片的放大缩小移动双击还原功能
(Swift5.2)ScrollerView图片放大缩小
通过实现UISCrollview 代理方法来实现图片的浏览,及放大缩小。 使用方法: viewWillAppear中实现 showbigImage=[[ShowBigImageBox alloc]init]; [showbigImage setShowBigImageBoxDelegate:self]; ...
ios 双指捏合放大缩小图片。
iOS开发,自己封装的一个类,用于开发中要做图片点击放大缩小的功能,导入头文件后直接使用!
iOS TableView 下拉图片放大 上拉图片高度缩小 TableViewFrame动态变化
ios应用源码之简单的图片放大缩小demouitestapp .
图片滚动放大缩小
iOS图片点击放大,左右滑动浏览,类似于微信朋友圈图片浏览
swift5 iOS纯代码开发实现图片的单击全屏双击放大缩小拖拽捏合实现,如果没积分可私聊私发
点击放大图片和缩小,双击放大,一行代码封装实现
自己写的点击查看大图Demo,使用简单
功能描述:支持网络和本地gif、jpeg等格式图片的浏览、捏合或双击放大缩小、长按保存到本地相册、获取gif图片的循环次数和时长。详情可以到 http://www.jianshu.com/p/b5a55099f4fc 或者 Github : ...
iOS iphone图片定点放大缩小 轻捏缩小
iOS自定义放大镜的使用,主要是当长按文字或图片时,放大点击的内容
iOS开发点击图片方法缩小,可以拉伸查看图片
IOS block回调代码实例Demo IOS block 回调 Demo 块
Swift版图片预览,支持手势捏合放大,双击缩小放大,刚开始用Swift写代码,写的不好的地方请大家指正,O(∩_∩)O~~
实现下拉列表,顶部图片放大效果,同时有UITableVIew和UIScrollVIew格式