UIScrollView的分页与缩放

来源:互联网 发布:天弘基金淘宝店首页 编辑:程序博客网 时间:2024/05/17 00:55

UIScrollView类为显示内容的视图大小大于应用程序窗口提供支持。它使用户能够在该内容中通过轻扫手势进行滚动,通过手捏手势放大和缩小视图中的内容。

分页

当取景范围里有多个视图时,你不希望拖动后界面停在中间连接位置,就需要分页功能

[plain] view plaincopy
  1. CGRect screenRect = [self.window bounds];  
  2. CGRect bigRect = screenRect;  
  3. bigRect.size.width *= 2.0;  
  4.   
  5. //初始化ScrollView  
  6. UIScrollView *scrollView = [UIScrollView alloc] initWithFrame:screenRect];  
  7. [self.window addSubview:scrollView];  
  8.   
  9. //创建一个自定义视图对象,并加入到ScrollView中  
  10. MyView *view = [MyView alloc] initWithFrame:screenRect];  
  11. [scrollView addSubview:view];  
  12.   
  13. //创建另一个对象,使其正好在屏幕外,在上一个视图的右侧  
  14. screenRect.origin.x = screenRect.size.width;  
  15. MyView *anotherView = [MyView alloc] initWithFrame:screenRect];  
  16. [scrollView addSubview:anotherView];  

完成基本设置,在UIScrollView中有两个属性,contentSize和pagingEnabled,前者决定了UIScrollView的取景范围,后者是设置是否系统自动分页

其中的pagingEnabled就可以达到浏览照片时候不会太快速掠过的问题,可以一张一张的浏览。

[plain] view plaincopy
  1. [scrollView setContentSize:bigRect.size];  
  2. [scrollView setPagingEnabled:YES];  


缩放

假设你这个应用里有个视图成员,你想实现他的放大缩小功能

[plain] view plaincopy
  1. CGRect screenRect = [self.window bounds];  
  2.   
  3. //初始化ScrollView,并设置它的缩放规模,实现委托  
  4. UIScrollView *scrollView = [UIScrollView alloc] initWithFrame:screenRect];  
  5.   
  6. [scrollView setMinimumZoomScale:1.0];  
  7. [scrollView setMaximumZoomScale:5.0];  
  8.   
  9. [scrollView setDelegate:self];  
  10.   
  11. [self.window addSubview:scrollView];  
  12.   
  13. //初始化成员  
  14. myView = [MyView alloc] initWithFrame:screenRect];  

要让该滚动视图实现缩放功能,就需要遵守UIScrollViewDelegate协议,然后实现委托方法

[plain] view plaincopy
  1. - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView  
  2. {  
  3.    return myView;  
  4. }   
0 0
原创粉丝点击