UIScrollView:UIScrollView是一个滑动视图,可以通过滑动手势放或所缩小显示内容,包含两个子类:                              UITableView和UICollectionView

 

                                                         1.  UIScrollView 


简介:

         该视图是一个滑动视图,也可以通过滑动手势放大或缩小显示的内容

         滑动的前提:视图的大小小于内容的大小

 

 

 

   1.UIScrollViewd的创建(创建的是视图的大小)

 

1.1(创建视图的大小

              UIScrollView* scrollerView = [[UIScrollView        alloc]initWithFrame:CGRectMake(0, 100,KSCreenWidth, 400)];

 

 1.2设置内容的大小-只需要设置大小,位置不需要再确定(视图的大小小于内容的大小才能滑动,若不设定,默认与视图一样大)

 

               scrollerView.contentSize = CGSizeMake(2*KSCreenWidth,2*400);

 

    2.常用属性

 

    2.1滑动视图能否开启滑动

      scrollerView.scrollEnabled = NO;

 

   2.2设置滚动条样式

      scrollerView.indicatorStyle = UIScrollViewIndicatorStyleWhite

 

   2.3设置水平滑动条 显示或关闭 默认yes显示

      scrollerView.showsHorizontalScrollIndicator = NO;

 

   2.4上下滑动条开启

      scrollerView.showsVerticalScrollIndicator = NO;

 

   2.5.关闭反弹效果   

      scrollerView.bouncesZoom = NO;

 

 2.6.设置分页效果

      scrollerView.pagingEnabled = YES;

 

   2.7.设置内容相对于试图的偏移,设置内容偏移量  可以将点的x轴看做左右偏移,Y轴看做是上下偏移(默认是没有偏移的)

        scrollerView.contentOffset =CGPointMake(40, 0);

               3.其它属性

 

 

 

    4.常用代理方法

        scrollerView.delegate = self;

 

 

    

 

                                                      2.  捏合手势的使用 



 ( 能很简单的使⽤用捏合⼿手势来进⾏行缩放,可以缩小或者放⼤大,只需要实现一个委托⽅法就可以,简单的⼏几个步骤就可以让滚动视图的⼦子视图⽀支持缩放功能。)

 

 

1.scrollView(视图的尺寸)

    UIScrollView* scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen mainScreen].bounds];

    scrollView.backgroundColor = [UIColor redColor];

    [self.view addSubview:scrollView];

   

   

    2.设置一张图片视图

    UIImageView* imageView = [[UIImageView alloc]initWithFrame:scrollView.bounds];

    imageView.image = [UIImage imageNamed:@"2.jpg"];

    imageView.tag = 1000;           ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

    //把视图加载到我们的滑动视图上

    [scrollView addSubview:imageView];

   

    4.设置scrollView内容视图放大的最大倍数

    scrollView.maximumZoomScale = 4;
    5.设置视图内容缩小的最小倍数

    scrollView.minimumZoomScale = 1;

   

   

    6.签定代理协议

    scrollView.delegate = self;

   


   

}
//必须在scrollView上进行捏合,需要传入需要捏合的图片,利用Tag来获取要捏合的图片
//捏合手势放大缩小时返回视图

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

   

    UIView* imageView = [scrollView viewWithTag:1000];

    return imageView;

   

   

} 
    
                                                      3.分页视图
 -(void)creatPageControl{
   
     1.添加分页控件
     UIPageControl* pageC = [[UIPageControl alloc]initWithFrame:CGRectMake(KSWidth/2-80, 300, 160, 50)];
     2.设置分页控件的页数

    pageC.numberOfPages = 3;     3.设置分页控件的首选页
   
     4.设置选中的颜色

    pageC.currentPageIndicatorTintColor = [UIColor blackColor];
    //5.没选中的颜色

    pageC.pageIndicatorTintColor = [UIColor whiteColor];

    [self.view addSubview:pageC];

   

   
     6.增加点击方法

    [pageC addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];

   

}

-(void)pageAction:(UIPageControl*)page{

   
     1.获得当前page的页数,当前选中的下标

    NSInteger number = page.currentPage;

   
     2.滑动到我们的scrollerView的某个位置

   

    [UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:.7];

   

     scrollerView.contentOffset = CGPointMake(KSWidth*number, 0);

    [UIView commitAnimations];

   


} 
//最后实现的

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{

   
     获得我们的scrollerView的偏移量

    NSInteger number = targetContentOffset->x;

   
     设置当前pageC的量

    pageC.currentPage = number/375 ;

   

}