【移动应用开发技术】疯狂ios讲义之实例:通过捏合手势缩放图片_第1页
【移动应用开发技术】疯狂ios讲义之实例:通过捏合手势缩放图片_第2页
【移动应用开发技术】疯狂ios讲义之实例:通过捏合手势缩放图片_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】疯狂ios讲义之实例:通过捏合手势缩放图片

实例:通过捏合手势缩放图片捏合手势处理器可以检测到用户手势捏合的比例,解析该捏合比例即可对图片进行缩放。本实例将通过捏合手势对图片进行缩放。创建一个SingleViewApplication,该应用包含一个应用程序委托类、一个视图控制器类以及配套的Main.storyboard界面设计文件。在InterfaceBuilder中打开该界面设计文件,将一个UIImageView拖入界面设计文件中,并让该UIImageView控件与应用界面保持相同大小。为了在程序中能访问UIImageView控件,需要将该控件绑定到控制器的p_w_picpathViewIBOutlet属性。由于该程序需要对图片进行缩放,因此我们将《疯狂iOS讲义》上册第12章介绍绘图时开发的UIImage(FKCategory)分类添加到该应用中,这样就可为UIImage类增加图片缩放、旋转等方法。接下来修改视图控制器类,在视图控制器类中使用UIPinchGestureRecognizer来检测用户捏合手势,并根据捏合手势对图片进行缩放。下面是该控制器类的实现代码。程序清单:codes/01/1.3/PinchImage/PinchImage/FKViewController.m@implementationFKViewControllerUIImage*srcImage;CGFloatcurrentScale;-(void)viewDidLoad{[superviewDidLoad];[UIApplicationsharedApplication].statusBarHidden=YES;srcImage=[UIImagep_w_picpathNamed:@"seashore.png"];//设置图片直接显示在中间(不进行任何缩放)self.view.contentMode=UIViewContentModeCenter;//设置p_w_picpathView初始显示的图片self.p_w_picpathView.p_w_picpath=srcImage;//设置初始的缩放比例currentScale=1;//设置p_w_picpathView允许用户交互,支持多点触碰self.p_w_picpathView.userInteractionEnabled=YES;self.p_w_picpathView.multipleTouchEnabled=YES;//创建UIPinchGestureRecognizer手势处理器,该手势处理器激发scaleImage:方法UIPinchGestureRecognizer*gesture=[[UIPinchGestureRecognizeralloc]initWithTarget:selfaction:@selector(scaleImage:)];//为p_w_picpathView添加手势处理器[self.p_w_picpathViewaddGestureRecognizer:gesture];}-(void)scaleImage:(UIPinchGestureRecognizer*)gesture{CGFloatscale=gesture.scale;//如果捏合手势刚刚开始if(gesture.state==UIGestureRecognizerStateBegan){//计算当前缩放比currentScale=self.p_w_picpathView.p_w_picpath.size.width/srcImage.size.width;}//根据手势处理器的缩放比例计算图片缩放后的目标大小CGSizetargetSize=CGSizeMake(srcImage.size.width*scale*currentScale,srcImage.size.height*scale*currentScale);//对图片进行缩放self.p_w_picpathView.p_w_picpath=[srcImagep_w_picpathByScalingToSize:targetSize];}@end该实例使用捏合手势处理器的方法与前面介绍的没有任何区别,只是程序中增加了粗体字代码的判断。该粗体字代码判断当捏合手势开始时,程序会把当前图片的缩放比例记录下来作为图片的当前缩放比例,然后用捏合手势的缩放比例乘以当前缩放比例作为图片真正的缩放比例,接下来调用U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论