小探UIScrollView(二)缩放视图
来源:互联网 发布:it培训学校 编辑:程序博客网 时间:2024/05/16 09:51
这篇博客写一下缩放UIScrollView视图的方法。
直接上代码:
- (void)viewDidLoad{ [super viewDidLoad]; // 1.设置scroll view的基本属性 scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; scrollView.backgroundColor = [UIColor lightGrayColor]; [self.view addSubview:scrollView]; // 2.设置scroll view与zoom相关的属性 scrollView.minimumZoomScale = 0.5; scrollView.maximumZoomScale = 10.0; scrollView.zoomScale = 1.0; scrollView.bouncesZoom = YES; scrollView.contentSize = CGSizeMake(640.0, 1136.0); scrollView.delegate = self; // 3.添加一张图片 imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.jpg"]]; [scrollView addSubview:imageView]; imageView.center = scrollView.center;}#pragma mark - UIScrollView Delegate/* 在scrollview中Zoom的目标视图 */- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return imageView;}/* scrollview将要开始Zooming */- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view { NSLog(@"Begin Zooming");}/* scrollview已经发生了Zoom事件 */- (void)scrollViewDidZoom:(UIScrollView *)scrollView { NSLog(@"Did Zoom");}/* scrollview完成Zooming */- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale { if (self.scrollView.zoomScale > 1) { imageView.center = CGPointMake(self.scrollView.contentSize.width / 2, self.scrollView.contentSize.height / 2); } else { imageView.center = self.view.center; } CGSize size = self.scrollView.contentSize; NSLog(@"Content size of scroll view"); NSLog(@"w = %f, h = %f", size.width, size.height); NSLog(@"----------------------------"); NSLog(@"zoomscale = %f", self.scrollView.zoomScale); NSLog(@"----------------------------"); CGRect boundsOfScrollView = self.scrollView.bounds; NSLog(@"Bounds of scroll view"); NSLog(@"x = %f, y = %f", boundsOfScrollView.origin.x, boundsOfScrollView.origin.y); NSLog(@"w = %f, h = %f", boundsOfScrollView.size.width, boundsOfScrollView.size.height);}
还有头文件:
@interface ZoomViewController : UIViewController <UIScrollViewDelegate>@property (nonatomic, strong) UIScrollView *scrollView;@property (nonatomic, strong) UIImageView *imageView;@end
以上程序的功能是实现Scroll View中的Image View的缩放,并使图片处于当前视图中心(简单的设置)。
有几点需要注意:
1.为了完成对UIScrollView的缩放,必须设置scrollview的delegate为自己并实现相应方法。
2.scrollview的min zoom scale和max zoom scale参数必须不一致(并且max zoom scale大于min zoom scale),否则不能完成缩放。
3.在UIScrollViewDelegate方法中:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView给出进行Zoom的视图。
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view当视图将要开始缩放时,要进行的动作可以在这里完成。
- (void)scrollViewDidZoom:(UIScrollView *)scrollView当视图缩放动作已经发生了。
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale当scroll view完成zooming时的响应方法,这里scale为zoom的倍数,在min zoom scale到max zoom scale之间。
通常可以在这里进行一些视图布局,例如设置zoom的view在scroll view视图中心。
ScrollView的简单学习先到这里,继续回去做PDF的缩放。
以后遇到相关问题再写博客补充。
- 小探UIScrollView(二)缩放视图
- 小探UIScrollView(三)无限制缩放视图
- UINavigationController + UIScrollView组合,视图尺寸的设置探秘(二)
- 滚动视图(UIScrollView)
- UIScrollView(滑动视图)
- UIScrollView里面实现视图的移动缩放,点击事件
- UIScrollView缩放
- UIScrollView缩放
- 小探UIScrollView(一)基本属性
- UIScrollView 滚动视图 (实例)
- UIScrollView 滚动视图 (实例)
- UIScrollView 滚动视图 (实例)
- UIScrollView 滚动视图 (实例)
- iOS滚动视图(UIScrollView)
- UIScrollView(二)
- 滚动UIScrollView中子视图(按钮),实现 UIScrollView 滚动效果
- iOS 滚动视图(UIScrollView) UIPageControl
- 21.UIScrollView(滑动视图)和UIPageControl()
- 浅谈线段树标志下放
- 练习赛7.求A/B高精度值
- java环境变量配置
- WebService介绍及演示:(手机号归属地查询+QQ号是否在线查询)
- 2013年工作中遇到的20个问题:281-300
- 小探UIScrollView(二)缩放视图
- DirectShow中的例子,CAMSchedule未申明的错误解决办法
- 如何实现一个文件系统(四)
- 萤火虫优化算法的研究与改进
- Ojbect-C2 4、NSDictionary和NSMutableDictionary字典的使用
- VC编译器与GCC编译器的区别
- String,StringBuffer,StringBuilder的区别
- ListView的使用和添加事件
- linux bash中too many arguments问题的解决方法