实现滑动
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
分享到:
相关推荐
ScrollViewDemo通过大图展示的例子,帮助开发者学习如何创建自定义的滚动视图,以及如何利用手势来控制视图的移动和缩放,这些都是iOS开发中非常实用的技能。通过深入理解并实践这些知识点,开发者可以创建出更加...
下个版本可能会补充更多细节,如图片的缩放、平移等交互功能,以及如何处理ScrollView与其他视图的交互问题。 总之,iOS开发中的ScrollView是一个功能强大的组件,它提供了丰富的可能性来展示和操作大量内容。理解...
在iOS应用开发中,Swift语言为我们提供了丰富的框架和工具来实现各种复杂的用户界面。本教程将深入探讨如何使用UIScrollView处理图片的缩放和平移,构建一个精简版的图片浏览器。首先,我们要理解UIScrollView的基本...
在本项目“ios-UIScrollView横向移动, 可实现左右滑动查看信息.zip”中,主要探讨了如何配置和利用UIScrollView来实现水平方向上的滑动,让用户能够通过左右滑动查看更多信息。这个功能常用于展示长列表、图片浏览...
5. 实现UIScrollViewDelegate的`- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView`方法,返回可缩放的UIImageView。 6. 当接收到 pinch 手势时,UIScrollView会自动处理缩放,或者你可以手动调用...
2. **图片浏览**:在iOS应用中,ScrollView常用于实现图片浏览功能,特别是在展示大量图片时,如相册或产品展示。通过ScrollView,用户可以前后滑动查看图片,而无需每次都加载新的图片视图。 3. **无限循环**:在...
在实现过程中,开发者可能需要使用UIScrollView的`contentInset`和`scrollIndicatorInsets`属性来动态调整ScrollView的内容区域,以便在键盘出现时,将输入框移动到可视区域。此外,还需要关注...
在iOS开发中,图片的处理是一项常见的任务,特别是在创建交互式应用时,用户可能需要查看大图、缩放和移动图片。"ios-图片放大缩小移动双击还原.zip" 文件包含了一个实现这些功能的示例代码。这个项目的核心是利用...
在iOS开发中,创建一个类似相册的应用是常见的需求,其中`UIScrollView`和`UIPageControl`是实现这一功能的关键组件。`UIScrollView`是苹果提供的一个可滚动视图,能够展示超过视图边界的内容,而`UIPageControl`则...
本教程将深入探讨如何利用ScrollView加载大尺寸图片,并让用户能够通过移动屏幕查看图片的各个部分。ScrollView允许用户在水平或垂直方向滚动内容,超过其实际显示区域,从而提供了丰富的用户体验。 首先,我们需要...
在iOS开发中,实现一个类似网易新闻客户端那样的可滑动菜单是一项常见的需求。这个功能让用户可以方便地在多个内容板块之间切换,提高了用户体验。在本文中,我们将深入探讨如何在iOS应用中创建一个这样的可滑动菜单...
ScrollView是Android和iOS等操作系统中常见的一种布局控件,它允许用户在单个屏幕上滚动查看超过屏幕大小的内容。在开发过程中,开发者可能会遇到各种需求,比如创建一个可以滑动浏览长列表或图片的界面,这时...
ECharts作为一个成熟的产品,具备了丰富的功能和良好的社区支持,非常适合用于移动应用中的数据展示。 由于ECharts主要是基于Web技术(HTML5 Canvas 和 SVG)构建的,所以在iOS应用中直接使用ECharts并不方便。为此...
在iOS开发中,图片缩放是一项常见的功能,特别是在滚动视图如UIScrollView中。"图片缩放ImageZoom"这个主题主要涉及如何实现用户交互式的图片放大和缩小,以便在UIScrollView中流畅地查看大尺寸图片。接下来,我们将...
这个“iOS PDF阅读器源码”提供了一个实现基本PDF操作的基础框架,包括翻页、复制文本、缩放以及小页面预览。下面我们将深入探讨这些功能的实现及其在iOS开发中的技术细节。 首先,基础的PDF处理离不开Apple提供的...
在iOS应用开发中,图片放大镜效果是一种常见的交互设计,它允许用户在查看图片时,通过手指触摸或移动来实现局部区域的放大显示,增强用户体验。这个“ios应用源码之图片放大镜效果”提供了实现这种功能的具体代码,...
- 如果scrollView允许滚动,那么当用户拖动时,scrollView会根据拖动的方向和速度来更新contentOffset,从而实现滚动效果。 2. **分页模式**: - 如果设置了`pagingEnabled = true`,那么scrollView会在每个page...
这个压缩包文件“IOS应用源码——类似于ios内置的图片浏览器的demo.zip”包含了一个iOS应用的源代码,目的是为了实现一个与iOS系统内置图片浏览器类似的功能。在iOS开发中,这种图片浏览器通常用于展示用户的相册...
它通过创建一个具有视差效果的ScrollView来实现这一目标,当键盘出现时,整个内容视图会向上平移,同时背景可能以一定的速度和比例缩放,创造出一种优雅的用户体验。 在React Native中,通常的ScrollView组件并不...
我们需要将UIPageControl的numberOfPages设置为图片的数量,并在UIScrollView的代理方法`scrollViewDidScroll:`中更新UIPageControl的currentPage,使其与ScrollView的当前显示页保持一致。 代码示例: ```swift ...