UIScrollView和UIPageControl

1. UIScrollView简介//基于UIkit的基类的操作

   UIScrollView主要专长于两个方面:滚动:contentSize大于frame.size的时候,能够滚动
   
   缩放:自带缩放,可以指定缩放倍数。
   
   contentsize是UIScrollView的一个属性,它是一个CGSize,是有核心图形所定义的架构,那定义了你可以滚动的宽度和高
   
   度,你也可以添加上下滚动的额外区域,第一种方法是你可以通过添加内容的大小来完成;另一个比较动态的选择就是conte
   
   ntInSet,contentInSet增加你在contentSize中指定的内容能够滚动的上下左右区域数量contentInSet.top以及content
   
   InSet.buttom分别表示上面和下面的距离。
   
   在滚动视图中,有一个叫做ContentOffset的属性跟踪UIScrollView的具体位置,你能够自己获取和设置它,ContentOffs
   
   et是你当前视图内容在滚轴边界的左上角的那个点。
   
   BOOL scrollEnabled 是否能滚动,默认是YES
   
 2.ScrollView的缩放
 
   要想要ScrollView实现缩放,必须先遵循代理——UIScrollViewDelegate 
   
   minimumZoomScale 缩放的最小比例(默认是1.0)
   
   maximumZoomScale 缩放的最大比例(默认是1.0)要想实现缩放,这两个数的值必须不一样
   
   让代理对象实现下面的方法
   
   (void)ScollViewDidZoom:(UIScollView *)ScrollView;
   
   跟缩放相关的常用方法还有

   正在缩放的时候调用

   -(void)scrollViewDidZoom:(UIScrollView *)scrollView

   缩放完毕的时候调用

   -(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)
   scale
   
   使图片自适应屏幕大小,以确保图片在屏幕正中的方法:
   
    float x_scale = scrollView.frame.size.width/selectedImage.size.width;
    
    float y_scale = scrollView.frame.size.height/selectedImage.size.height;
    
    CGFloat scale = x_scale < y_scale ? x_scale : y_scale;
    
    imageView.transform = CGAffineTransformMakeScale(scale, scale)
   
   分页效果
   
   讲PageingEnabled = YES,将UIScrollView分割成对个独立页面,用户的滚动体验变成了页面翻转
   
   NSInteger numberOfPages : 总页数

   NSInteger currentPage : 当前的页码  
   
3.UIPageControl
  
  创建
  UIPageControl* myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0.0, 400.0, 320.0, 0
  
  .0)];
    
  页面数目
  myPageControl.numberOfPages = 5;
  
  默认第一页被选中,如果改变值,就需要设置,页面索引从0开始
  myPageControl.currentPage = 3;
  
  默认情况下,即使只有一个页面,指示器也会显示进来。如果要在仅有一个页面的情况下隐藏指示器,可以将 hideForSin
  
  glePage 的值设为 YES。
  
  当用户点触分页控件时,会产生一个 UIControlEventVakueChanged 事件。你可以用UIControl 类的 addTarget 方法
  
  ,为其指定一个动作
   
   -(void)pageChanged:(id)sender{  
    UIPageControl* control = (UIPageControl*)sender;  
    NSInteger page = control.currentPage;  
    //添加你要处理的代码  
}  
  [myPageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueC
  hanged]
  
  pageControl.currentPageIndicatorTintColor = [UIColor blueColor];//设置选中的颜色



你可能感兴趣的:(UIScrollView和UIPageControl)