[ios]scrollView实现移动与缩放
来源:互联网 发布:mapreduce排序算法 编辑:程序博客网 时间:2024/06/03 08:00
实现滑动
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
0 0
- [ios]scrollView实现移动与缩放
- ios-ScrollView缩放的实现原理
- 利用ScrollView实现图片缩放
- IOS 结合UIImageView实现图片的移动和缩放
- iOS 之UIImageView实现图片的移动和缩放
- 程序实现移动+缩放
- 配置文件实现移动+缩放
- UIIMageView 实现移动 缩放
- IOS学习 scrollView的单张图片缩放
- ios-day05-03(实现UIScrollViewDelegate协议,监听ScrollView的缩放、滑动等状态)
- ScrollView 实现缩放,透明度,PageView效果
- WPF <ZoomableCanvas> 实现缩放移动
- WPF <ZoomableCanvas> 实现缩放移动
- iOS scrollview的实现
- iOS - scrollView与headerView的视差滚动实现思路 scrollView 可接收通知啊
- 【IOS】扩展UIImageViewEx实现:手势移动,旋转,缩放(附带一个收缩的文字标签功能)
- ios学习--结合UIImageView实现图片的移动和缩放(转)
- IOS中动画的实现:以及视图的移动、缩放和旋转
- 第二、UIScrollView的使用大全
- 苹果最新审核标准:IPv6
- js关于两种垃圾回收的机制
- UBUNTU修改root初始化 密码
- 资源文件相关学习总结
- [ios]scrollView实现移动与缩放
- hive 时间函数 总结
- Unsupported major.minor version 51.0解决办法
- ubuntu搭建ssh服务器,实现ssh免密码登录
- springMVC中两种validation的简单使用
- 科学计算:Python ----线性代数基础
- nyoj 124 中位数 【水,nth_element()练习】
- 数据结构概念
- saiku二次开发pom文件