[ios]scrollView实现移动与缩放

实现滑动

1.在viewDidLoad中对scrollview的contentSize属性赋值 告诉他滑动范围。

 

实现缩放

1.在storyboard的scrollview的attribute标签中设置zoom的范围。

2.实现一个UIScrollViewDelegate[scrollview的委托],并将其在viewDidLoad中传给scrollview

3.实现UIScrollViewDelegate 需要复写- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

这个方法返回需要zoom的view。

 

注意:如果使用缩放  且缩放的view大于屏幕

则必须要设置所需要缩放的view的fram 否则 zoom过程中会将view的frame改变 从而改变到了 image的size 导致scrollView 的contentSize 改变 影响滑动效果。 

所以每次使用zoom的时候 需要变化的view需要设置它的frame.szie与它的内容大小绑定[如imageView 的image.size]

 

 

简要代码:

 

//
//  ISViewController.m
//  ImageInScrollView
//
//  Created by liu poolo on 12-10-12.
//  Copyright (c) 2012年 liu poolo. All rights reserved.
//

#import "ISViewController.h"

@interface ISViewController ()<UIScrollViewDelegate>

@end

@implementation ISViewController
@synthesize scrollView=_scrollView;
@synthesize imageView=_imageView;
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //设置UIScrollViewDelegate
    self.scrollView.delegate=self;
    
    
    self.scrollView.contentSize=self.imageView.image.size;
    self.imageView.frame=CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
  










 self.imageView.frame=CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);

    //如果不加这句的话

    //那么正常拖动是可以的,但是如果zoom了 就会有问题

    //zoom发生后会把frame变成当前显示大小[imageview默认大小 屏幕显示大小 如是全屏则就是全屏大小] zoom变化导致frame同步改变了image的size 大小为frame大小

    //image 的size改变后导致self.scrollView.contentSize 变成了frame的大小  从而contentSize变小了 无法实现正常拖动。

    //然后根据zoom缩放比例变化。而不是根据实际图片大小。这么导致zoom后就无法拖动了[因为frame大小]




    


}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    //返回需要zoom的view
{
    //如果想要scrollview 实现缩放 则需要给scrollview.delegate 对一个UIScrollViewDelegate 对象
    //且 此对象需要覆写viewForZoomingInScrollView 方法。
    //总结:只有 scrollview的delegate复写了viewForZoomingInScrollView scrollview才会缩放。
    return self.imageView;
    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    self.scrollView=nil;
    self.imageView=nil;
}

@end
 

 

 

 

iOS开发:图片预览与缩放功能实现 允许用户根据个人喜好调整图片预览功能,比如调整图片显示大小、改变滑动动效样式等。自定义设置可以提高应用的灵活性和用户粘性。// 示例代码:用户自定义设置选项// 根据用户设置的选项调整动效// 应用自定义的滑动动效通过以上各点的优化措施,我们可以显著提高图片预览功能的性能,同时提升用户的整体体验。每个细节的精心打磨,都是为了达到这一最终目标。本文还有配套的精品资源,点击获取简介:在iOS开发中,实现图片预览和缩放功能对于展示和编辑图片至关重要。 阅读详情

相关推荐

IOS uiscrollview 实现图片的放大缩小滚动浏览

通过实现UISCrollview 代理方法来实现图片的浏览,及放大缩小。 使用方法: viewWillAppear中实现 showbigImage=[[ShowBigImageBox alloc]init]; [showbigImage setShowBigImageBoxDelegate:self]; viewWillDisappear中实现:[showbigImage clearBigImageBox];//在页面结束的时候清楚图片显示View 显示图片:[showbigImage showBigImageBox:array]; //array为图片的链接地址

IOS系列——ScrollView大放大和缩小功能的简单实现

在有些项目中,和多地方要用到SCrollView,Scrollview 这个的功能实在的是强大了这次就简单写一下可以实现放大和缩小的功能,首先数一下原理:在scrollView中放一个UIVIew 然后再UIView上放需要放大和缩小的UiImageView图片,最后用一个方法来返回UIView。 // //  ofSeeImageView.m //  liaotia

狂枫怒寒江的博客 9387

Scrollview滑动,并且单个页面也实现放大缩小,滑回来可还原

Scrollview滑动,并且单个页面也实现放大缩小,滑动到下一个page时在划回来,可还原,额外,双击屏幕,也可以实现放大

iOS开发 UIScrollView自带的缩放功能(简单的例子)

//scroll 的最大放大比例 self.scrollView.maximumZoomScale = 2.0; //scroll 的最小缩小比例 必须大于零 self.scrollView.minimumZoomScale = 0.3;

开发仔XG 989

OCSP环境搭建--Windows Server 2016

OCSP环境搭建--Windows Server 2016 一. OCSP环境中相关信息 1. 服务器1 操作系统:Win Server 2016 Standard版 IP地址:172.16.0.19/23,网关:172.16.0.1,首选DNS:127.0.0.1 服务器角色:域控制器、证书颁发机构、radius服务器、DNS服务器 ...

CsdnCHong_566的博客 3350

Excel地理探测器实战:5分钟搞定空间分异性分析(附完整数据集)

本文详细介绍了如何使用Excel地理探测器插件进行空间分异性分析。通过5分钟实战教程,手把手指导数据格式准备、软件操作及四大探测器(分异及因子、交互作用、风险区、生态探测器)的结果解读,帮助规划师、研究者快速验证地理因素对现象分布的影响,大幅降低GIS分析门槛。

peace的博客 607

scrollView中内部控件的悬停

以下图为例,图片,红色view和蓝色view是添加在scrollView上的,向上拖动,红色view停留在屏幕顶端不动,其它的继续滚动,向下拖动后,红色view跟着下来 代码如下:(注意的是scrollView中自动布局的设置问题) 1 #import "ViewController.h" 2 @interface ViewController () <UIScroll...

weixin_33895657的博客 227

ISP Tuning实战:从零开始调校相机传感器的完整流程(附避坑指南)

本文详细介绍了ISP Tuning的完整实战流程,即如何从零开始调校相机传感器以优化成像质量。内容涵盖从黑电平校正、镜头阴影校正等基础标定,到自动曝光、伽马校正、色彩校正等核心画质调校,再到降噪与锐化的平衡策略,并提供了关键的避坑指南。掌握ISP Tuning是提升相机传感器性能、实现从‘能用’到‘好用’的关键技术。

weixin_32098457的博客 196

快速实现微信图片裁剪功能

点击上方“逆锋起笔”,公众号回复pdf领取大佬们推荐的学习资料作者 | RayJiang97来源 | https://juejin.im/post/68449040066499870...

code小生 978

从 Integrated Configuration 到 Integration Flow,SAP PI/PO 老配置迁移的一次温和重构

很多还在运行 SAP PI/PO 的系统,Integration Directory 里都积累了不少 Integrated Configuration,也就是日常项目里常说的 ICO。它们可能稳定运行了多年,负责把采购订单、物料主数据、客户主数据、发票、发货通知从一个系统送到另一个系统。问题在于,ICO 这种对象很实用,却不够直观。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 95

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

1727

iOS开发--无线轮播Banner JFInfiniteBanner

先看效果图。 实现原理:五张UIVIew在一个scrollView上排列。滑动拖动结束后,始终让scrllView回到中间一张图的位置,从而实现无限轮播的效果。 难点: 1.对自动滑动和手动滑动动作的监控,来实时调整ScrollVIew的偏移量。 2.缩放和阴影随着移动的距离来设置。 项目地址:https://github.com/bybyWind/JFInfiniteBanne...

陈经风的博客 303

VIVADO IP核之FIR插值器多相滤波仿真

网络上有许多文章介绍FIR低通滤波器的使用,包括仿真。关于FIR低通滤波器的使用,我之前的文章已经介绍过了,本文将继续深入介绍FIR插值器多相滤波的使用方法,并将FIR插值多相滤波的结果与MATLAB仿真计算的结果比较,验证了FIR插值器多相滤波使用正确。

m0_66360845的博客 3382

React Native常用组件之ScrollView组件

一、前言 从iOS开发的经验来看,scrollView无疑是移动开发中很重要的一个组件,比如后面会学到的ListView就是继承自它。那么,在开发中比如:焦点图、引导页等地方都有其的影子,那接下来我们一起来搞定它!   一个包装了平台的ScrollView(滚动视图)的组件,同时还集成了触摸锁定的“响应者”系统。   两个要点:   a)ScrollView必须有一个确定的高...

weixin_33896069的博客 207

python实现带符号的二进制数转换十进制数 (附完整源码)

python实现带符号的二进制数转换十进制数 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 554

鸿蒙系统开发工程师:核心技术解析与深度面试指南

摘要: 鸿蒙系统开发工程师需具备底层驱动开发、系统移植优化及分布式架构能力。核心职责包括硬件适配(Bootloader、内核移植、HDF驱动开发)、性能调优(启动加速、功耗管理)及稳定性保障。技术要求涵盖C/C++编程、Linux内核机制、鸿蒙架构(HDF、分布式服务)及ArkTS/ArkUI基础。面试重点考察系统移植流程(如ARM板适配)、驱动开发(I2C/Display)、性能优化手段及内存/同步机制的应用。

郑伟强dev的专栏 429

iOS & Objective-C UIScrollView 图片缩放+居中

(面前横着图形学实验的deadline 我居然搞这个。。 在将图片居中的地方坑了好久,从 NSLog 输出的内容可以看出使用ScrollView 大概的函数调用流程 略 最后是在(void)scrollViewDidZoom:(UIScrollView*)scrollView函数中更新 imageView.frame.origin,就是image在scrollView里的偏移。 ...

weixin_30707875的博客 263

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

UIScrollView && UITableView相关属性汇总

1, UIScrollView: tracking //当 touch 后还没有拖动的时候值是YES,否则NO zoomBouncing //当内容放大到最大或者最小的时候值是 YES,否则 NO zooming //当正在缩放的时候值是 YES,否则 NO decelerating //当滚动后,...

weixin_30361641的博客 54

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

iOS——使用ScrollView进行图片的缩放

UIScorllView 是iOS中提供的滑动控件,用来解决当内容区域大于scorllview可视区域时,可以通过滑动的方式查看整个内容区域,UIScorllView的滑动空间的基类。 UITableView(表视图) 内部实现的原理是修改视图的bounds; // 创建对象 (子视图的大小,红色的区域) UIScrollView *scrollView = [[

RedGuy_anluo的博客 1379

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iOS动画之CABasicAnimation的使用方法(移动,旋转,缩放)

设定动画CABasicAnimation的属性和说明 属性 说明 duration 动画的时间 repeatCount 重复的次数。不停重复设置为 HUGE_VALF repeatDuration 设置动画的时间。 beginTime 指定动画开始的时间。从开始延迟几秒的话,设置为【CACurrentMediaTime() + 秒数】 的方式 timingFunction 设置动画的速度变化 autoreverses 动画结束时是否执行逆.

kuuailetianzi的专栏 2499

iOS开发-ScrollView图片缩放

智能手机一般常用常用的操作触摸,滑动,缩放,感觉对于生活而言就是手机在手,天下我有,看网页的时候字体太小,缩放一下,看美女的看的不爽,缩放一下,地图看的不清,缩放一下。缩放是一个很常见的操作,不论是从生活还是写程序而言,都是一个绕不开的东西,做了一个Demo,缩放一下美女,熟悉ScrollView中的常见属性的设置,开始正题吧。 常见属性 先看图,要实现的效果:    UI...

weixin_33739541的博客 237

iOS 怎样从图片中截取出需要的部分 缩放与选取

/** *从图片中按指定的位置大小截取图片的一部分 * UIImage image 原始的图片 * CGRect rect 要截取的区域 */ - (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect {     CGImageRef sourceImageRef = [image CGImage]

iOS-董彬的专栏 4447
上一篇: [ios]ios6 中没有了viewDidUnload
下一篇: [ios]tableview
iPoolo
博客等级 码龄17年 2粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值