1.图像点击之后,全屏浏览

- (void)viewDidLoad {

  [super viewDidLoad];

  _myImage=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, klScreenWidth, klScreenHeight-270)];

_myImage.userInteractionEnabled=YES;

[self.scrollview addSubview:_myImage];

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showZoomImageView:)];

tapGesture.numberOfTapsRequired=1;

[_myImage addGestureRecognizer:tapGesture];

}

-(void)showZoomImageView:(UITapGestureRecognizer *)tap

{

if (![(UIImageView *)tap.view image]) {

return;

}

//scrollView作为背景

UIScrollView *bgView = [[UIScrollView alloc] init];

bgView.frame = [UIScreen mainScreen].bounds;

bgView.backgroundColor = [UIColor blackColor];

UITapGestureRecognizer *tapBg = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapBgView:)];

[bgView addGestureRecognizer:tapBg];

UIImageView *picView = (UIImageView *)tap.view;

UIImageView *imageView = [[UIImageView alloc] init];

imageView.image = picView.image;

imageView.frame = [bgView convertRect:picView.frame fromView:self.view];

[bgView addSubview:imageView];

[[[UIApplication sharedApplication] keyWindow] addSubview:bgView];

[UIView animateWithDuration:0.5 animations:^{

CGRect frame = imageView.frame;

frame.size.width = bgView.frame.size.width;

frame.size.height = frame.size.width * (imageView.image.size.height / imageView.image.size.width);

frame.origin.x = 0;

frame.origin.y = (bgView.frame.size.height - frame.size.height) * 0.5;

imageView.frame = frame;

}];

}

  2.图片的缩放

@interface ViewController () <UIScrollViewDelegate>{

UIScrollView *_scrollview;

UIImageView *_imageview;

}

- (void)viewDidLoad {

[super viewDidLoad];

_scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

_scrollview.delegate=self;

//设置最大伸缩比例

_scrollview.maximumZoomScale=5.0;

//设置最小伸缩比例

_scrollview.minimumZoomScale=1;

[self.view addSubview:_scrollview];

UIImage *image=[UIImage imageNamed:@"1"];

_imageview=[[UIImageView alloc]initWithImage:image];

_imageview.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);

_imageview.userInteractionEnabled = YES;

[_scrollview addSubview:_imageview];

}

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

return _imageview;

}

iOS开发——UIImageView的更多相关文章

  1. iOS开发-UIImageView高效设置Radius

    圆角的设置在iOS中随处可见,开发的时候也很方便,但是有的时候如果一个页面有大量的需要设置圆角的图片,容易产生性能问题,UIImageView ios9.0之前设置圆角是会产生离屏渲染的,9.0之后不 ...

  2. iOS开发-UIImageView响应点击事件

    UIImageView是不能够响应点击事件的,在开发过程中我们需要经常对头像等添加点击事件,上网搜索一番后发现有如下两个方法: 1.找到点击图片Event,添加事件处理函数 UIImageView.u ...

  3. iOS开发-UIImageView的contentMode属性

    UIImageView 的contentMode这个属性是用来设置图片的显示方式,如居中.居右,是否缩放等,有以下几个常量可供设定:UIViewContentModeScaleToFillUIView ...

  4. iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明

    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...

  5. iOS开发UI篇—Quartz2D(自定义UIImageView控件)

    iOS开发UI篇—Quartz2D(自定义UIImageView控件) 一.实现思路 Quartz2D最大的用途在于自定义View(自定义UI控件),当系统的View不能满足我们使用需求的时候,自定义 ...

  6. iOS开发之六:常用控件--UIImageView的使用

    UIImageView是我们做iOS开发用的非常多的一个控件,IOS中的各种图片,包括头像,有的背景图片等基本都要用到这个控件. 1.常用的属性以及方法 <span style="fo ...

  7. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  8. iOS开发系列--Swift进阶

    概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...

  9. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

随机推荐

  1. Struts2龙之总结

    一.Struts2执行流程: 1.客户端初始化一个指向servlet容器(tomcat)的请求: 2.这个请求经过一系列过滤器(Filter): 3.接着StrutsPrepareAndExecute ...

  2. C++builder编译别人工程报错

    编译时遇到错误,信息如下: [C++ Error] NVRAMEditor.h(83): E2209 Unable to open include file 'CONTROLSLib_OCX.h'[C ...

  3. Ubuntu安装Anaconda3

    下载  https://www.continuum.io/downloads#_unix Python3.5 Linux 32-bit 安装 bash Anaconda3-2.4.0-Linux-x8 ...

  4. CodeForces 567B Berland National Library

    Description Berland National Library has recently been built in the capital of Berland. In addition, ...

  5. android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

    android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a ...

  6. 监控redis进程,如果没有自动重启

    监控redis进程,如果没有自动重启 #Time:2016-01-22#Version:1.0 #Author:chh-huang #设置环境变量source /etc/profile#source ...

  7. mysql show processlist详解

    SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到所有线程.否则,您只能看到您自己的线程( ...

  8. 一段代码详解JavaScript面向对象

    (function(){ //私有静态成员 var user = ""; //私有静态方法 function privateStaticMethod(){ } Box = func ...

  9. UINavigationItem不显示

    效果如图: 代码: self.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithNormalImage:@"MainTa ...

  10. WebDriver(Selenium2) 根据新窗口title切换窗口

    http://uniquepig.iteye.com/blog/1559321 在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle. 引用 http://uniqu ...