UIImageView 点击放大缩小

static CGRect oldframe;

-(void)showImage:(UIImageView *)avatarImageView{

UIImage *image=avatarImageView.image;

UIWindow *window=[UIApplication sharedApplication].keyWindow;

UIView *backgroundView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

oldframe=[avatarImageView convertRect:avatarImageView.bounds toView:window];

backgroundView.backgroundColor=[UIColor blackColor];

backgroundView.alpha=0;

UIImageView *imageView=[[UIImageView alloc]initWithFrame:oldframe];

imageView.image=image;

imageView.tag=1;

[backgroundView addSubview:imageView];

[window addSubview:backgroundView];

UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];

[backgroundView addGestureRecognizer: tap];

[UIView animateWithDuration:0.3 animations:^{

imageView.frame=CGRectMake(0,([UIScreen mainScreen].bounds.size.height-image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width)/2, [UIScreen mainScreen].bounds.size.width, image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width);

backgroundView.alpha=1;

} completion:^(BOOL finished) {

}];

}

-(void)hideImage:(UITapGestureRecognizer*)tap{

UIView *backgroundView=tap.view;

UIImageView *imageView=(UIImageView*)[tap.view viewWithTag:1];

[UIView animateWithDuration:0.3 animations:^{

imageView.frame=oldframe;

backgroundView.alpha=0;

} completion:^(BOOL finished) {

[backgroundView removeFromSuperview];

}];

}

时间: 2024-11-08 21:54:05

UIImageView 点击放大缩小的相关文章

c# 自定义多个SplitContainer 支持点击放大缩小

设计起因:最近在做winfrom自定义打印工具,其中项目中需要为打印界面分四个区 于是想到了splitcontainer,由于是在tabcontrol中放入splitcontainer,所以做成自定义splitcontainer是没毛病的 1.先介绍自定义单个SplitContainer放大缩小: 在自己的winfrom项目下新建一个组件类,名为SplitContainerEx.cs 然后写上如下代码,具体可以自己看 1 public partial class SplitContainerEx

图片浏览(点击放大缩小支持多张图片浏览)

大神写的,我就参考参考啦! 从主布局开始了 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_pare

iOS 图片点击放大, 再次点击缩小

XWScanImage  是一个自定义的类, 评论留Q 发 ImageView = [[UIImageView alloc]init]; ImageView.backgroundColor = SetColor(160, 160, 160); //为UIImageView1添加点击事件 UITapGestureRecognizer *tapGestureRecognizer1 = [[UITapGestureRecognizer alloc] initWithTarget:self action

UIButon 控件的尺寸放大缩小(也可以理解为图片的放大缩小,思路是一样的)-学习笔记

图片的放大缩小功能的简单实现(以一个简单的猜图项目中的放大缩小为例) 思路: 1.创建一个UIButton * guessimage  控件,设定好位置,再创建一个button bigImage控件测试一下 放大图片的方法 goToBig,同样放好位置: 2.给 guessimage 设置边距,尺寸大小,同样 bigImage 也进行设置等等: 3.给 bigImage 添加点击 放大图片的方法:goToBig, 在goToBig里面 定义 4个 座标的值,也就是 CGFloat guessim

点击图片进行放大,再次点击就缩小到原来的地方

首先写一个类  写放大缩小的方法 // // BigImage.h // TapImageBigAndSmall // // Created by lxy on 15-4-7. // Copyright (c) 2015年 Shenzhen MSD Technology Co.,LTD. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface BigIm

图标放大缩小移动,加标注点,并带点击效果的实现

第一:了解三个类 Canvas,在英语中,这个单词的意思是帆布.在Android中,则把Canvas当做画布,只要我们借助设置好的画笔(Paint类)就可以在画布上绘制我们想要的任何东西:另外它也是显示位图(Bitmap类)的核心类.随用户的喜好,Canvas还可设置一些关于画布的属性,比如,画布的颜色.尺寸等.Canvas提供了如下一些方法: 一种就是使用普通View的canvas画图,还有一种就是使用专门的SurfaceView的canvas来画图.两种的主要是区别就是可以在SurfaceV

猫猫学IOS(一)UI之按钮操作 点击变换 移动 放大缩小 旋转

不多说,先上图片看效果,猫猫分享,必须精品 这个小程序主要实现点击方向键可以让图标上下左右动还有放大缩小以及旋转的功能,点击图片会显示另一张图片. 点击变换 其实用到了按钮的两个状态,再State Config中的Default还有Highlighted的两个状态下background内容图片的设置 其实就是按钮的几个状态: Default:默认状态 Highlighted:被点击时候的高亮状态 Selected:被选中的时候的状态 Disabled:不能使用的时候的状态 移动 - (IBAct

IOS 开发笔记-基础 UI(3)按钮的使用(放大缩小、改变位置,首位式动画)和学习案例

UIKit框架提供了非常多的UI控件,但并不是每一个都很常用,有些控件可能1年内都用不上,有些控件天天用,比如UIButton.UILabel.UIImageView.UITableView等等,按钮控件是非常重要且比较基础的一个UI控件---UIButton,一般情况下,点击某个控件后,会做出相应反应的都是按钮,按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置. 案例: 功能分析 (1)左下角4个方向按钮,控制头像按钮的位置 (2)右下角分别是放大.缩小按钮,控制

CABasicAnimation的基本使用方法(移动&#183;旋转&#183;放大&#183;缩小)

最近iOS开发中用到CoreAnimation的framework来做动画效果,虽然以前也用过,但一直没有系统学习过,今天看到一篇非常详细的博文(虽然是日语,但真的写的很好),在此翻译出来供大家学习. CABasicAnimation类的使用方式就是基本的关键帧动画. 所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,指定动画的起始帧和结束帧,然后自动计算和实现中间的过渡动画的一种动画方式. CABasicAnimation的基本使用顺序 1.引用QuartzCore.framew