UIScrollView-大图片展示 与图片缩放 Demo

一 大图片展示

#import "MJViewController.h"

@interface MJViewController ()

{

UIScrollView *_scrollView;//方但全局调用定义成成员变量

}

@end

@implementation MJViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// 1.创建UIScrollView

UIScrollView *scrollView = [[UIScrollView alloc] init];

scrollView.frame = CGRectMake(0, 0, 250, 250); // frame中的size指UIScrollView的可视范围

scrollView.backgroundColor = [UIColor grayColor];

[self.view addSubview:scrollView];

// 2.创建UIImageView(图片)

UIImageView *imageView = [[UIImageView alloc] init];

imageView.image = [UIImage imageNamed:@"big.jpg"];

CGFloat imgW = imageView.image.size.width; // 图片的宽度

CGFloat imgH = imageView.image.size.height; // 图片的高度

imageView.frame = CGRectMake(0, 0, imgW, imgH);

[scrollView addSubview:imageView];

// 3.设置scrollView的属性

// 设置UIScrollView的滚动范围(内容大小)

scrollView.contentSize = imageView.image.size;

// 隐藏水平滚动条

scrollView.showsHorizontalScrollIndicator = NO;

scrollView.showsVerticalScrollIndicator = NO;

// 用来记录scrollview滚动的位置

//    scrollView.contentOffset = ;

// 去掉弹簧效果

//    scrollView.bounces = NO;

// 增加额外的滚动区域

// top  left  bottom  right

scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20);

_scrollView = scrollView;

}

- (IBAction)down:(UIButton *)sender {

[UIView animateWithDuration:1.0 animations:^{

这个方法为按钮控制身下的滚动效果,这里就是改变_scrollView.contentOffset的Y 值

//        CGPoint offset = _scrollView.contentOffset;

//        offset.y += 150;

//        _scrollView.contentOffset = offset;

_scrollView.contentOffset = CGPointMake(0, 0);

}];

}

@end

二 图片缩放

//

//  MJViewController.m

//  02-UIScrollView02-图片缩放

//

//  Created by apple on 13-11-27.

//  Copyright (c) 2013年 itcast. All rights reserved.

//

#import "MJViewController.h"

@interface MJViewController () <UIScrollViewDelegate>

{

UIImageView *_imageView;

}

@end

@implementation MJViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// 1.添加UIScrollView

UIScrollView *scrollView = [[UIScrollView alloc] init];

//    scrollView.frame = CGRectMake(0, 0, 320, 460);

scrollView.frame = self.view.bounds;

[self.view addSubview:scrollView];

// 2.添加图片

UIImage *image = [UIImage imageNamed:@"big.jpg"];

// 调用initWithImage:方法创建出来的UIImageView,它的宽高默认跟图片的宽高一样

_imageView = [[UIImageView alloc] initWithImage:image];

//    // 设置图片

//    imageView.image = [UIImage imageNamed:@"big.jpg"];

//

//    // 设置frame

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

[scrollView addSubview:_imageView];

// 设置内容范围

scrollView.contentSize = image.size;

// 设置scrollview的代理对象

scrollView.delegate = self;

// 设置最大伸缩比例

scrollView.maximumZoomScale = 2.0;

// 设置最小伸缩比例

scrollView.minimumZoomScale = 0.2;

}

#pragma mark - UIScrollView 的 代理方法

#pragma mark 这个方法返回的控件就能进行捏合手势缩放操作

#pragma mark 当UIScrollView尝试进行缩放的时候就会调用

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

{

return _imageView;

}

#pragma mark 当缩放完毕的时候调用

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale

{

//    NSLog(@"结束缩放 - %f", scale);

}

#pragma mark 当正在缩放的时候调用

- (void)scrollViewDidZoom:(UIScrollView *)scrollView

{

//    NSLog(@"-----");

}

@end

时间: 2024-12-26 03:06:07

UIScrollView-大图片展示 与图片缩放 Demo的相关文章

JS实现有点炫的图片展示效果-图片解体和组合

经过4个月的努力学习,迎来了进入市场的最后一个学习项目.自己模仿了一个图片展示效果,用在了项目中,感觉挺炫的.在这里分享一下,希望大家喜欢~! bomb-showImg : 在线演示http://runjs.cn/detail/tl9quyke查看源码http://runjs.cn/code/tl9quyke HTML : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

笔记30多款jQuery图片展示/幻灯片图片轮播切换

1.号称最好的JQUERY幻灯片-NIVO SLIDER JQUERY幻灯片-NIVO SLIDER,jquery图片切换 演示下载地址 2.小米3发布官网jQuery焦点图全屏大图 演示下载地址 小米3发布官网jQuery焦点图是一款小米手机3发布官网淡入淡出切换的jquery焦点图,带索引按钮,自动播放.

Android多点触控(图片的缩放Demo)

本文主要介绍Android的多点触控,使用了一个图片缩放的实例,来更好的说明其原理.需要实现OnTouchListener接口,重写其中的onTouch方法. 实现效果图: 源代码: 布局文件: activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools&quo

Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理

前言 java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量.还支持对一个目录的所有图片进行批量处理操作,下边就和大家分享一下java中用Thumbnailator做图片各种处理的方法(相关jar包可在最

openseadragon.js与deep zoom java实现艺术品图片展示

openseadragon.js 是一款用来做图像缩放的插件,它可以用来做图片展示,做展示的插件很多,也很优秀,但大多数都解决不了图片尺寸过大的问题. 艺术品图像展示就是最简单的例子,展示此类图片一般要求比较精细,所以图片尺寸很大,如果按照普通的方式直接将整个图片加载,要耗费巨大的带宽. openseadragon.js 即为此而生,它展示的图像,必须经过切割处理,当放大图像时,才去加载更大的尺寸,真正做到了按需加载. 值得一提的是,openseadragon.js是微软公司的一款开源产品,非常

高斯模糊加图片展示(仿ipad qq图片点击展示)

1.前言        项目中有需要点击展示大图的,然而发现手机端的图片展示更多的是黑色背景+图片展示,最多加上个缩放动画.更让强迫症纠结的是:因为android的本身的原因(从nexus到小米魅族),使用activity进行图片展示会有几率看到statusbar下滑消失动画(对的,没看错,有几率),单单是几率两字就让人纠结不已......随萌生出了些本博客代码--dialog+高斯模糊+图片展示的想法. 效果: 录制看着卡,真机上流畅. 2.高斯模糊        高斯模糊在苹果系统中很常见,

UIScrollView和UIPageControl结合实现图片浏览

iOS中具有图片类的app通常都会有滑动浏览的功能,许多app第一次启动时,也会用UIScrollView+UIPageControl来展示新功能.今天探索一下如何实现该功能. 首先介绍下UIScrollView, UIScrollView中有个重要的属性是contentSize,用于界定滑动范围的大小.UIScrollView本身frame是我们在屏幕上可视部分,也就是说contentSize的宽要大于UIScrollView.frame.size.width才能实现滑动浏览的功能. 另外,图

CSS3 实现六边形Div图片展示效果

效果图: 实现原理: 这个效果的主要css样式有: 1.>transform: rotate(120deg); 图片旋转 2.>overflow:hidden;  超出隐藏 3.>visibility: hidden;  也是隐藏,与display:none;相似,但不同的是,它虽然隐藏了,但依然会在网页中占有位置 我们要用到3层div进行旋转来得到这个效果(ps:3层div的大小是一样的). 最外层div(boxF)旋转120度.第二层(boxS)旋转-60度,第三层(boxT)再旋转

ios图片的移动和缩放

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