iOS做一个iPhone相册,每个图片都能放大缩小并且翻到第⼆张图时,再翻回来就变成原来的大 ⼩.使⽤UIPageControl与UIScrollView结合.

仿淘宝,京东商品详细图片的viewpager,点击图片放大,左右滑动 立即下载

思路:

⼀个UIScrollView上只能缩放一个子视图,那如何实现每张图片都可以缩放?———一个大的UIScrollView上放多个小的UIScrollView,每个小的UIScrollView上放一张图片 


-(void)dealloc{

    self.scrollView = nil;

    self.scrollView1 = nil;

    self.pageControl = nil;

    [super dealloc];

}

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    [self layoutScrollView];

    

}


- (void)layoutScrollView{

    

    self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];

    self.scrollView.contentSize = CGSizeMake(kScreenWidth * 6, kScreenHeight);

    self.scrollView.scrollEnabled = YES;

    self.scrollView.pagingEnabled = YES;

    self.scrollView.showsHorizontalScrollIndicator = NO;

    self.scrollView.showsVerticalScrollIndicator = NO;

    self.scrollView.delegate = self;

    self.scrollView.tag = 300;

    

创建小的scrollView,放到大的scrollView上,并把图片放到小的scrollView上

    for (int i = 0; i < 6; i++) {

        self.scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(kScreenWidth * i, 0, kScreenWidth, kScreenHeight)];

        self.scrollView1.contentSize = CGSizeMake(kScreenWidth, kScreenHeight);

        self.scrollView1.pagingEnabled = YES;

        self.scrollView1.delegate = self;

        self.scrollView1.tag = 200 + i;

        self.scrollView1.maximumZoomScale = 4.0;

        self.scrollView1.minimumZoomScale = 0.5;

        [self.scrollView addSubview:self.scrollView1];

        

        UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, kScreenWidth, kScreenHeight / 3)];

        NSString *imageName = [NSString stringWithFormat:@"p%d", i + 1];

        NSString *filePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"jpg"];

        imageV.image = [UIImage imageWithContentsOfFile:filePath];

        imageV.tag = 100 + i;

        [self.scrollView1 addSubview:imageV];

        [imageV release];

        [self.scrollView1 release];

    }

    [self.view addSubview:self.scrollView];

    [self.scrollView release];

    

}


#pragma mark - ScrollViewDelegate

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

    for (UIScrollView *v in scrollView.subviews) {

        return v;

    }

    return nil;

}


判断的时机是在视图滑动结束的时候

判断视图有没有显示在当前页面,如果在就不做任何操作,如果不在当前页面,就遍历scrollView上的子视图上的视图,把它们的放大倍数设为1.0.

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

        if (scrollView == self.scrollView) {

            CGFloat x = scrollView.contentOffset.x;

            if (x == offSet) {

    

            }else{

                offSet = x;

                for (UIScrollView *view in scrollView.subviews) {

                    if ([view isKindOfClass:[UIScrollView class]]) {

                        [view setZoomScale:1.0];

                    }

                }

            }

        }

   //这个方法会在界面返回之后才改变,不好

//    NSInteger curentPage = scrollView.contentOffset.x / kScreenWidth;

//    UIScrollView *nowScrollerView = (UIScrollView *)[self.scrollView viewWithTag:200 + curentPage];

//    if (nowScrollerView.zoomScale != 1.0 && curentPage != _Page) {

//        [nowScrollerView setZoomScale:1.0];

//    }

//    _Page = curentPage;

}




IOS 高仿 LOFTER 图片轮播动画缩放效果 IOS 高仿 LOFTER 图片轮播动画缩放效果 详情 看博客 立即下载

相关推荐

FOC控制必看:单/双/三电阻电流采样方案全对比(附NXP实战避坑指南)

本文深入对比了FOC控制中单电阻、双电阻和三电阻电流采样方案的优劣与适用场景,重点剖析了采样时序、窗口与ADC转换的工程挑战。针对NXP平台,提供了解决采样窗口过窄的实战方案与配置指南,帮助工程师根据成本与性能需求做出最优选择,并规避常见设计陷阱。

n2o3p4的博客 412

iOS图片浏览器控件 放大,缩小,UIScrollView

GitHub地址https://github.com/JerryWanXuJie/XJAlbum 图片浏览器主要通过 UIScrollView 实现 在一个大的ScollView里面套 n个ScollView UIScrollView里主要是有两个属性,contentSize和contentoffset , contentSize 是设定UIScrollView的可交互的大小,conten...

weixin_30487317的博客 194

Ubuntu双系统引导修复实战:boot-repair工具详解

本文详细介绍了使用boot-repair工具修复Ubuntu双系统引导丢失问题的实战方法。当GRUB引导菜单因安装新系统或更新而损坏时,通过制作Ubuntu启动盘进入Live环境,安装并运行boot-repair,可一键完成系统修复引导,自动化执行GRUB重装与配置,解决无法进入Windows或Ubuntu的常见故障。

weixin_29224589的博客 356

关于iOS UIScrollView放大的问题

总所周知 ,iOS 的UIScrollView是专门用来做缩放和分页用的,关于这方面的例子也很多了,但你们知道在放大的过程中 他做了些什么吗? 他的哪些东西会发生改变吗? 通过在一个项目中的小经历 ,我遇到了些问题,在这和大家分享一下。 在UIScrollView中添加View,然后实现他的代理 - (UIView *)viewForZoomingInScrollView:(UIScro...

weixin_30252709的博客 251

【项目立项管理、项目整合管理】30天通过软考高项-第二天

①项目或阶段的概述;②范围目标、范围的评估标准,证明达到完⼯标准的证据;③质量目标、项目和产品质量的评估标准、相关核实信息和实际里程碑交付日期以及偏差原因;④成本目标,包括可接受的成本区间、实际成本,产⽣任何偏差的原因等;⑤最终产品、服务或成果的确认信息的总结;⑥进度计划目标,包括成果是否实现项目预期效益:如果在项目结束时未能实现效益,则指出效益实现程度并预计未来实现情况;

weixin_42520723的博客 1000

嵌入式STM32控制电梯面板

嵌入式STM32控制电梯面板 用点阵来显示电梯向上还是向下运动,用数码管来显示楼层数(由于灯阵显示楼层数比较困难故用数码管代替)。当按下对应的按钮,就可以去到对应层数,可上升可下降。 #include "stm32f10x.h" #include "stm32f10x_exti.h" #include "stm32f10x_it.h" #define uint unsigned int #define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10) #define

code_init_的博客 2111

ios学习--结合UIImageView实现图片的移动和缩放

因为种种原因,需要在iphone应用中实现图片查看功能,由于iphone屏幕支持多点触摸,于是是想到用“手势”来实现图片的实时缩放和移动。借鉴无所不在的internet网络资料之后,终于实现此一功能,过程如下。 一、首先实现原图显示(不缩放) 新建MoveScaleImageView类,继承uiview。用于加载一个UIImage。它有两个主要的成员,一个UIImage对象用于指...

a1311010193的博客 279

独创改进 | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构

独创改进🚀! | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构

Coding... 2211

实现相册的缩放图片功能

做APP时想实现一个缩放图片功能,即将指定的图片缩小显示成列表,点击又放大,类似于一个相册。 本来是一个简单的功能,结果从头学起,弄了半天,起初考虑的是使用采用缩放,把原大小的图片缩放成固定大小,后来发现缩放后显示效果不佳,比如一个长方形的图片缩放成一个正方形比例看起来很不协调。后来发现相册缩放的图片都是裁剪了显示的,而要实现裁剪显示的功能只需在指定的imageview里面加一个属性……如此简单

大树的学习之路 1239

RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型

本文记录的是基于 GhostNetV3 的 RT-DETR轻量化改进方法研究。GhostNetV3的轻量模块采用方法,训练时为深度可分离卷积和1×1卷积添加,推理时通过移除分支、折叠操作,能够在不增加推理成本的同时提高性能,从而实现RT-DETR的轻量化改进。

Limiiiing的博客 971

MinerU 系列教程 第六课:VLM 后端 - 视觉语言模型的力量

本篇教程将深入 VLM 后端的端到端推理架构。在上一课中我们看到 Pipeline 后端如何用 7+ 个专用模型组成流水线,本课将展示一种截然不同的设计理念 —— 用一个视觉语言模型(VLM)完成所有识别任务。你将了解 6 种推理引擎的选择与配置、MinerUClient 统一接口、二步提取策略,以及 VLM 原始输出如何转换为 MinerU 的标准 Middle JSON 格式。

weixin_43674738的博客 205

IOS 实现图片缩放和弹出系统相册功能

要想实现图片缩放的话需要一个scrollView来包裹住ImageView,让后将scrollView的delegate设置到ViewController身上,这样当缩放图片的时候scrollView不知道如何处理,交给scrollView的代理来处理具体逻辑,代理逻辑具体来处理是缩放哪个元素点击图片弹出相册也是需要代理的只是UIImagePickerControllerDelegate和UINavigationControllerDelegate下面是具体的逻辑代码:......

lck8989的博客 581

基于LSTM GRU RNN的交通流量预测-完整数据代码

基于LSTM GRU RNN的交通流量预测-完整数据代码

921

iOS图片查看滚动放大缩小

简介 效果显示 在显示的图片中,最中间的图片为我们要查看图片,是最大的,然后两边的图片比较小,随着我们的拖动,越靠近中间位置,图片越大 实现思路 使用UICollectionView来显示图片,采用流水布局flowLayout,但是普通的流水布局显然满足不了我们的需求,所以说,我们自定义一个flowLayout来实现我们的需求 自定义流水布局自定义类CLHFlowLayout 继承于 UICol

滴水穿石,慢慢积累,总会有成果 3964

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

对本地的图片进行的相册设置,后续在为大家奉上从网络请求的图片数据,添加在 scrollView 上,实现的简单相册功能,欢迎提出宝贵意见!

qq_32444489的博客 2078

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

iOS中UIScrollView嵌套UIImageView实现图片滑动浏览、缩放

一开始的时候是UIScrollView直接嵌套UIImageView,滑动浏览都是正常的,但是不能伸缩,试了UIScrollVIew自身的zoom方法,也试用了pinch gesture的方法都无果,后来想到了用UIScrollView嵌套UIScrollVIew再嵌套UIImageView的方法实现,然后缩放用的是UIScrollView自身的缩放方法,成功,很棒。 载入图片是用的SDWebI

ericzkx的专栏 4198

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

自定制实现带有缩放效果的轮播图

可直接设置frame然后加载到视图上使用。 效果就是这样的,图片切换的过程中还是有卡顿,不够流畅。 另外还上传了一个类似的组件:github地址 直接上代码。 .h文件包含: #import <UIKit/UIKit.h> @interface CustomScrollView : UIView @property (strong,nonatomic) NS...

我可能是个Siri 6059

ios 图片拖拽,捏,双击放大缩小,以及保存到相册

图片拖拽,放大缩小原来是可以不用自己写算法的,直接用UIscrollView即可实现。 保存相册就比较简单了。 比较麻烦的地方: 捏,双击等动作形成的放大、缩小效果需要准确定位。 h文件: // // DetailPopStarView.h // Gukw // #import <UIKit/UIKit.h> #import "AsyncIm...

weixin_30544657的博客 247

iOS滚动视图缩放图片

[super viewDidLoad];         _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 480)];     _scrollView.contentSize = CGSizeMake(320, 480);    

haiooh的博客 1581

iOS学习之图片放大,滑动浏览

iOS许多APP中都使用到了图片放大浏览的功能,如淘宝、微信等。最近也琢磨了一些方法,基本可以实现点击图片放大,并且可以左右滑动浏览上一张下一张图片,也可以通过手势撑开放大缩小,可以加上长按保存到相册的功能。具体的做法是子类化UIImageView,添加点击手势,监听手势创建UIScrollView浏览视图,其中可以加上一些动画功能,增强用户体验。

良哉的博客 3307

IOS——使用ScrollView和PageController实现引导页分页效果

如标题所说,使用的是ScrollView和PageControlle两个控件共同达到该效果 首先,使用storyboard将ScrollView和PageControlle拖入,要注意的是,PageControl不能被ScrollView包含在内,二者要分开属于平级关系 然后要在.h文件中添加UIScrollViewDelegate 然后在.m文件中实现下面代码 -(void) initU

Clare_0_0专栏 7175

ios 中间 图片缩放_给你几个iOS小技巧,果粉都在用!

苹果手机贵吗?答案是肯定的。这么贵的iPhone不Get几个实用的功能真的太浪费了,果妹今天整理几个果粉都在用的iOS小技巧,一起来看一下吧。将iPhone屏幕亮度调至更暗如何在夜间将iPhone屏幕显示亮度调到最低甚至更暗呢?打开iPhone【设置】【通用】【辅助功能】【缩放】【缩放区域】【全屏幕缩放】再返回上一层选择【缩放过滤器】【弱光】,完成设置后开启缩放功能你的iPhone屏幕亮...

weixin_30587271的博客 404

ios学习--结合UIImageView实现图片的移动和缩放(转)

因为种种原因,需要在iphone应用中实现图片查看功能,由于iphone屏幕支持多点触摸,于是是想到用“手势”来实现图片的实时缩放和移动。借鉴无所不在的internet网络资料之后,终于实现此一功能,过程如下。 一、  首先实现原图显示(不缩放) 新建MoveScaleImageView类,继承uiview。用于加载一个UIImage。它有两个主要的成员,一个UIImage对象用于指定

yanfangjin的专栏 1万+

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

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

狂枫怒寒江的博客 9387
上一篇: iOS 用UIScrollView,UIPageControl制作轮播图
下一篇: 找出整型数组中最大和最小值及其所在位置
xiaoliu_iOS
博客等级 码龄11年 4粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值