iOS开发 UI高级 图片放大缩小的实现

原创 2016年08月28日 20:41:35
#import <UIKit/UIKit.h>

@interface ChangeScaleView : UIImageView
@property(nonatomic,strong)UIScrollView *scrollView;
@property(nonatomic,strong)UIImageView *scaleImageView;
@end
#import "ChangeScaleView.h"

@implementation ChangeScaleView

-(instancetype)initWithFrame:(CGRect)frame{
    if ([super initWithFrame:frame]) {
        [self createTap];
    }
    return self;
}

-(void)createTap{
    
    self.userInteractionEnabled = YES;
    // 初始化手势
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
    [self addGestureRecognizer:tapGesture];
}

#pragma mark - 放大手势的响应事件
-(void)tapAction:(UITapGestureRecognizer *)tap{
    
    [self createView];
    
    [UIView animateWithDuration:.5 animations:^{
        _scaleImageView.frame = _scrollView.frame;
        _scrollView.backgroundColor = [UIColor orangeColor];
        self.hidden = YES;
    }];
}

-(void)createView{
    //初始化滑动视图
    _scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];
    _scrollView.showsHorizontalScrollIndicator = NO;
    _scrollView.showsVerticalScrollIndicator = NO;
    [self.window addSubview:_scrollView];
    // 移到原来所在位置
    CGRect frame = [self convertRect:self.bounds toView:self.window];
    _scaleImageView = [[UIImageView alloc] initWithFrame:frame];
    
    _scaleImageView.image = self.image;
    
    _scaleImageView.userInteractionEnabled = YES;
    //添加手势
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(smallTapGesture:)];
    [_scaleImageView addGestureRecognizer:tap];
    [_scrollView addSubview:_scaleImageView];

}

//缩小手势的响应事件
-(void)smallTapGesture:(UITapGestureRecognizer *)tap{
    
    [UIView animateWithDuration:.3 animations:^{
        
        _scaleImageView.frame = self.frame;
        
    } completion:^(BOOL finished) {
        self.hidden = NO;
        [_scrollView removeFromSuperview];
        
    }];
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS开发笔记:实现点击图片放大全屏

最近遇到这个问题,点击图片,让图片全屏。参考了一些博客和源码,大概明白了是怎么实现这个效果的。 这里就简单说明一下: 原理和之前的实现修改头像有点类似:修改头像的时候,我们给imageView添加一个...
  • qq_30513483
  • qq_30513483
  • 2016年04月10日 22:34
  • 1239

#iOS开发笔记#UIImageView实现拖动,放大/缩小,旋转

UIImageView是iOS上最基本的图片显示控件,但默认情况下是不支持拖动,放大缩小等功能的。后来在stackoverflow上查找到一种很简单的方法,加上本人自己的理解,步骤整理如下:...
  • Bryster
  • Bryster
  • 2015年01月08日 11:54
  • 4066

iOS开发——手势识别器(用手势实现图片旋转和缩小放大)

iOS开发中,除了有关触摸的这组方法来控制用户的手指触控外,还可以用UIGestureRecognize的衍生类来进行判断,方便了开发。 UIGestureRecognize的子类类别有以下几种: ...
  • u012350430
  • u012350430
  • 2016年04月25日 21:45
  • 2740

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

不多说,先上图片看效果,猫猫分享,必须精品 这个小程序主要实现点击方向键可以让图标上下左右动还有放大缩小以及旋转的功能,点击图片会显示另一张图片。点击变换其实用到了按钮的两个状态,再State Co...
  • u013357243
  • u013357243
  • 2015年03月19日 08:13
  • 2377

iOS开发:UIImage 图片处理:截图,缩放,设定大小,存储

图片的处理大概分 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)1.等比率缩放- (UIImage *)scaleImage:(UIImage *)i...
  • Kevindongkun
  • Kevindongkun
  • 2015年11月18日 21:27
  • 3882

iOS 图片捏合放大缩小 点击放大缩小

此处的图片控件,我用的是UIButton,因为它自身有点击事件,不过UIImageView同理,为其添加手势即可实现同样的效果。 // //  ServiceResultViewControll...
  • Dancer2015
  • Dancer2015
  • 2016年05月05日 17:54
  • 5257

UICollectionView 实现的简易相册,可以缩放

对本地的图片进行的相册设置,后续在为大家奉上从网络请求的图片数据,添加在 scrollView 上,实现的简单相册功能,欢迎提出宝贵意见!...
  • qq_32444489
  • qq_32444489
  • 2015年11月02日 00:02
  • 717

前端jquery实现图片点击放大缩小

利用dom的垂直分层实现图片的点击放大和缩小(手机上使用的效果较好),在图片放大的时候同时禁止页面的滑动,如果在web端的话可以不禁止屏幕的滚动(因为图片放大是将图片的宽度变成100%,在web上长度...
  • gjq1993
  • gjq1993
  • 2017年02月15日 17:37
  • 1810

iOS个人页面图片下拉放大效果

在研究苹果原生UIImageView控件的时候,知道有一个属性叫contentMode.那这个属性是干嘛的呢?和下拉拖动图放大有什么关系呢?我们先来看一下效果图再说:(同时也欢迎大家来我的GitHub...
  • IM_Loser
  • IM_Loser
  • 2016年12月17日 16:34
  • 2817

ios实现button变换颜色并可以放大、缩小、旋转

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc...
  • Remember29
  • Remember29
  • 2015年04月21日 20:36
  • 1020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发 UI高级 图片放大缩小的实现
举报原因:
原因补充:

(最多只允许输入30个字)