`
119568242
  • 浏览: 426820 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[ios]Gesture与scrollView分别实现图片触控

    博客分类:
  • ios
 
阅读更多
ScrollView方法


- (void)viewDidLoad
{
    [super viewDidLoad];
    self.imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Cool.jpg"]];
    NSLog(@"%@",NSStringFromCGRect(self.view.frame));

    self.scrollView.frame=self.view.frame;
    self.imageView.frame=self.scrollView.frame;
    NSLog(@"%@",NSStringFromCGRect(self.imageView.frame));
    [self.imageView setContentMode:UIViewContentModeScaleAspectFit];
    self.scrollView.delegate=self;
    [self.scrollView setMaximumZoomScale:5.0];
    [self.scrollView setMinimumZoomScale:1.0];
    [self.scrollView addSubview:self.imageView];
//    self.scrollView.contentSize=CGSizeMake(320, 1000);

// Do any additional setup after loading the view, typically from a nib.
}

#pragma mark - UIScrollViewDelegate
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    return self.imageView;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


Gesture方法

//
//  PLGestureZoomDemoVC.m
//  ZoomScrollView
//
//  Created by liu poolo on 14-4-2.
//  Copyright (c) 2014年 liu poolo. All rights reserved.
//

#import “PLGestureZoomDemoVC.h”;

@interface PLGestureZoomDemoVC (){
    UIPinchGestureRecognizer *_gst;
    float _lastScale;
    CGSize beginImageViewSize;
}

@end

@implementation PLGestureZoomDemoVC


- (void)viewDidLoad
{
    [super viewDidLoad];
    self.image=[UIImage imageNamed:@"Cool.jpg"];
    self.imageView=[[UIImageView alloc]initWithImage:self.image];
    self.imageView.center=self.view.center;
   

    [self.view addSubview:self.imageView];
    _gst=[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGestureResponse:)];

    [self.imageView addGestureRecognizer:_gst];
    UITapGestureRecognizer *tapGtr=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureResponse:)];
    tapGtr.numberOfTapsRequired=2;
    [self.imageView addGestureRecognizer:tapGtr];
   
    self.imageView.userInteractionEnabled=YES;
    beginImageViewSize=self.imageView.frame.size;
   
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}



-(void)pinchGestureResponse:(UIPinchGestureRecognizer *) pinGst{

    if(pinGst.state==UIGestureRecognizerStateBegan){
        _lastScale=pinGst.scale;
    }
    float scale=pinGst.scale/_lastScale;
    _lastScale=pinGst.scale;
    [pinGst.view setTransform:CGAffineTransformScale(pinGst.view.transform, scale, scale)];
    NSLog(@"%f",scale);
   

}

-(void)tapGestureResponse:(UITapGestureRecognizer *) tapGst{

    [tapGst.view setTransform:CGAffineTransformScale(tapGst.view.transform, beginImageViewSize.width/tapGst.view
                                                         .frame.size.width, beginImageViewSize.height/tapGst.view
                                                     .frame.size.height)];
}

@end


分享到:
评论

相关推荐

    ios-类似scrollView滑动的一个动画,但不是scrollView.zip

    在iOS开发中,我们经常需要实现各种滑动和滚动效果,比如常见的UIScrollView,它提供了页面滚动、上下滑动以及左右滑动的能力。然而,有些情况下,我们可能希望创建一种更特殊的滑动效果,比如抽屉式的动画效果。这...

    ios scrollView联动

    标题"ios scrollView联动"所指的就是在iOS应用开发中,如何通过编程实现多个UIScrollView之间的交互,使得它们的滚动行为相互关联,形成一个协调统一的用户体验。 描述中的"左边视图以及上面视图悬停"是联动效果的...

    IOS scrollview做的相册

    2. **UIImageView**与**UIImageView动画**: 在ScrollView中,通常会包含多个UIImageView来展示图片。通过调整UIImageView的位置和大小,可以实现大图和小图的切换。同时,可以使用UIImageView的动画功能,如 ...

    iOS点击查看大图,图片放大缩小

    "iOS点击查看大图,图片放大缩小"这个主题主要涉及到ScrollView和Image两类组件的使用,它们是iOS中实现图片查看功能的关键。 ScrollView是iOS SDK中的一个基础控件,用于展示可滚动的内容,它可以容纳比屏幕更大的...

    iOS Gesture Recognizer 简单使用

    在iOS开发中,手势识别器(Gesture Recognizer)是一个强大的工具,它允许用户通过各种触摸交互来控制应用程序。本文将基于上一篇教程“如何在iPhone上绘制一个笑脸”来介绍如何添加手势识别器,实现笑脸图像的放大...

    ios-UIScrollView上添加多个TableView.zip

    总的来说,这个示例项目涉及了iOS开发中的多个重要概念,包括UIScrollView的滚动机制、UITableView的数据加载与展示、用户交互设计以及自定义视图的实现。对于想要学习iOS界面布局和多视图管理的开发者来说,这是一...

    iOS ScrollView嵌套tableView联动滚动的思路与最佳实践

    通过让底层的 scrollView 实现一个手势识别的协议,同时响应滚动事件,分别在底层容器和上层业务中实现滚动视图的代理方法 func scrollViewDidScroll(_ scrollView: UIScrollView),分别控制他们的可滚动状态和偏移...

    Qt实现多点触控与手势识别

    在本文中,我们将深入探讨如何使用Qt开发框架来实现多点触控(Multi-Touch)功能和手势识别。Qt是一个跨平台的应用程序开发框架,支持多种操作系统,包括Windows、Linux、macOS、Android和iOS等。它提供了丰富的API...

    IOS 仿网易 banner scrollview 到头后 手势 事件提交到下级 拉开界面的效果

    后来 发现 IOS5 之后 scrollview 自带了 pan手势 (英语差 不会打gesture) 多试了几次 发现 直接移动 scrollview 低层的 view 就不会出现 视差了 但是 偶尔会抖动 用了个 遮盖的方法 具体 看代码吧!

    iOS手势旋转缩放拖拽图片

    在iOS开发中,手势识别(Gesture ...总之,通过熟练运用iOS中的手势识别机制,我们可以轻松地实现图片的拖拽、旋转和缩放功能。通过"01GestureTest"项目,开发者可以学习并实践这些技巧,进一步提升自己的iOS开发技能。

    IOS 图片浏览效果【双击图片,弹出层】

    在iOS开发中,实现“双击图片,弹出层”的图片浏览效果是一项常见的需求,尤其在设计用户界面时,为了提供更好的用户体验,这样的交互模式被广泛应用。本篇将详细讲解如何在iOS应用中实现这个功能。 首先,我们需要...

    iOS 仿新浪微博图片查看功能

    在iOS开发中,实现类似新浪微博的图片查看功能是一项常见的需求,它涉及到图片的展示、手势交互、动画效果以及用户保存图片等多方面的技术。在这个项目中,开发者创建了一个名为"LQPhotoAlbun"的组件,用于实现这个...

    swift-iOS使用UIScrollView处理图片的缩放(图片浏览器)

    在iOS应用开发中,Swift语言为我们提供了丰富的框架和工具来实现各种复杂的用户界面。本教程将深入探讨如何使用UIScrollView处理图片的缩放和平移,构建一个精简版的图片浏览器。首先,我们要理解UIScrollView的基本...

    scrollview +重用阴影缩放

    在iOS开发中,ScrollView是一种非常重要的视图控件,它允许用户通过滚动来查看超过屏幕大小的内容。在本文中,我们将深入探讨如何结合阴影效果和缩放功能来优化ScrollView的使用,这对于初学者来说是一次很好的学习...

    ios-UIScrollView可上下滚动的的侧边栏.zip

    若希望实现动态分布,可以添加手势识别器(Gesture Recognizer)来检测用户手势,从而改变侧边栏的位置。 3. 自由的动画效果:`UIView`类提供了丰富的动画方法,如`animate(withDuration:animations:)`,可以用于在...

    iOS 自动轮播图片

    在iOS开发中,实现自动轮播图片的效果是一个常见的需求,特别是在首页展示广告或者产品推荐时。这个 OC 编写的自动轮播图片效果封装类提供了一种高效且灵活的方式来达成这一目标。下面我们将深入探讨其中涉及的关键...

    ios-多张图片查看器.zip

    4. **手势识别(Gesture Recognizers)**:左右滑动手势是实现图片切换的关键。通过添加UISwipeGestureRecognizer,应用可以识别并响应用户的滑动动作,从而切换到下一张或上一张图片。 5. **数组存储图片URL或数据...

    ios应用源码之两个图片切换特效:左右切换上下滚动 2018127

    本教程将探讨一个具体的案例,即如何实现图片切换的特效——左右切换与上下滚动。这个源码示例为开发者提供了一个很好的起点,以创建更加动态且吸引人的图像展示功能。 首先,我们要了解iOS应用中的图片切换特效是...

    ios-图片放大缩小移动双击还原.zip

    "ios-图片放大缩小移动双击还原.zip" 文件包含了一个实现这些功能的示例代码。这个项目的核心是利用UIKit框架中的UIScrollView和UIImageView来实现图片的操作。 首先,UIScrollView是苹果提供的一个视图类,它允许...

Global site tag (gtag.js) - Google Analytics