UIScrollView的缩放原理

有些时候,我们可能要对某些内容进行手势缩放,如下图所示

UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理
也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中

当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容)

当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的viewForZoomingInScrollView:方法,这个方法返回的控件就是需要进行缩放的控件

缩放实现步骤

设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象
设置minimumZoomScale :缩小的最小比例
设置maximumZoomScale :放大的最大比例
让代理对象实现下面的方法,返回需要缩放的视图控件
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;

跟缩放相关的其他代理方法
即将开始缩放的时候调用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view

正在缩放的时候调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView

时间: 2024-11-20 06:40:56

UIScrollView的缩放原理的相关文章

UIScrollView 手势缩放

一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 2.缩放原理 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的v

【iOS开发-54】案例学习:通过UIScrollView的缩放图片功能练习代理模式的详细实现

案例:(在模拟器中按住option键,点击鼠标就会出现缩放的手势) (1)在ViewController.m中: --缩放东西是UIScrollView除了滚动之外的还有一个功能,所以须要缩放的东西应该先放在UIScrollView里.比方此处的imageView: --而我们在缩放时候,scrollView自己是不知道我们要缩放哪个控件的,所以scrollView须要一个代理来告诉它.这个代理一般就是我们的控制器: --而控制器要成为它的代理就必须遵守它的协议. --控制器在接受协议后,就能够

UIScrollView内容缩放

•有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 1.设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象 2.设置minimumZoomScale :缩小的最小比例 3.设置maximumZoomScale :放大的最大比例 4.让代理对象实现下面的方法,返回需要缩放的视图控

iOS &amp; Objective-C UIScrollView 图片缩放+居中

(面前横着图形学实验的deadline 我居然搞这个.. 在将图片居中的地方坑了好久,从 NSLog 输出的内容可以看出使用 ScrollView 大概的函数调用流程 略 最后是在 (void)scrollViewDidZoom:(UIScrollView *)scrollView 函数中更新 imageView.frame.origin,就是image在scrollView里的偏移. 下面这条要靠前写,不然设置zoomScale就不会生效 self.scrollView.delegate =

9.ios之UIScrollView

什么是UIScrollView ?移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 ? ?当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 ? ?普通的UIView不具备滚动功能,不能显示过多的内容 ? ?UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 ?举例:手机上的"设置".其他示例程序 UIScrollView的基本使用 ?UIScrollView的用法很简单 ?将需要展示的内

IOS开发UI基础之UIScrollView

什么是UIScrollView ● 移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 ● 当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 ● 普通的UIView不具备滚动功能,不适合显?示过多的内容 ● UIScrollView是?一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 UIScrollView的基本使? ● UIScrollView的?用法很简单 ? 将需要展?示的内容添加到UISc

1-3 UIScrollView

掌握 UIScrollView的常见属性 UIScrollView的常用代理方法 UIScrollView的缩放 UIScrollView和UIPageControl的分页 NSTimer的使用 什么是UIScrollView 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 , 当展示的内容较多,超出一个屏幕时, 用户可通过滚动手势来查看屏幕以外的内容, 普通的UIView不具备滚动功能,不适合显示过多的内容, UIScrollView是一 个能够滚动的视图控件,可以用来

iOS开发之UIScrollView

1.UIScrollView的用法: (1)将需要展示的内容添加到UIScrollView中 (2)设置UIScrollView的contentSize属性,告诉UIScrollView所有内容的尺寸,也就是告诉它滚动的范围(能滚多远,滚到哪里是尽头) 2.UIScrollView无法滚动的解决办法 如果UIScrollView无法滚动,可能是以下部分原因: (1) 没有设置滚动范围contentSize 设置例如:self.scrollView.contentSize = self.myima

10-UIScrollView

UIScrollView 掌握 UIScrollView的常见属性 UIScrollView的常用代理方法 UIScrollView的缩放 UIScrollView和UIPageControl的分页 NSTimer的使用 作业 将喜马拉雅和图片轮播器结合在一起 制作一个app的新特性界面 什么是UIScrollView 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 普通的UIView不具备滚动功能