ScrollView

滚动视图本身不显示,或者只显示一个背景,主要负责子视图的滚动和翻页。是一个没有文字的TextView。多用于图片的显示,或者布局的更改(如,弹出键盘时,可以使用滚动视图,来操作布局向上滚动)

 

【注】UIScrollView常用有四个子类,UITextView,UITableView,UICollectionView,UIWebView 

 

一.基本属性

  //scrllerview创建
   scrollview = [[UIScrollView alloc]init];
    
   //属性
    scrollview.frame = CGRectMake(0, 100,self.view.frame.size.width,300);
   //横向滚动条是否显示
    scrollview.showsHorizontalScrollIndicator = NO;
    //纵向滚动条是否显示
    scrollview.showsVerticalScrollIndicator = NO;
    scrollview.backgroundColor = [UIColor redColor];
    
    //是否有边界回探效果
    scrollview.bounces = NO;
    
    //是否在水平方向滚动到末尾时产生反弹
    scrollview.alwaysBounceVertical = YES;
    
    //纵向滚动到末尾时产生反弹
    scrollview.alwaysBounceHorizontal
    
    //控制视图滚动缩放超出最大和最小值内容是否还愿成以前
    scrollview.bouncesZoom = YES;
    
    //控制触摸内容视图时是否总是导致跟踪,若该值为yes那么当手指拖拽到足以滚动的距离时会触发touchuesCancelld:weithEnved:信息
    scrollview.canCancelContentTouches = YES;
    
    
    
    //返回滚动视图中的内容是否在提起手指后继续移动(只读属性),如用户已j不在拖拽内容但滚动在发生返回yes
    scrollview.decelerating
    
    //浮点,规定用户提起手指后滚动减速速度率
  scrollview.decelerationRate = 1;
    
    //滚动水平和垂直方向都被允许,若该属性为yes,那么当水平或垂直时只响应一个方向的滚动
  scrollview.directionalLockEnabled = NO;
    
    //表明用户是否开始滚动,该值可以需要滚动到一定距离才能显示yes
   scrollview.dragging
    
    
    /*浮动控制器的风格
    UIScrollViewIndicatorStyleDefault,默认
    UIScrollViewIndicatorStyleBlack,黑色
    UIScrollViewIndicatorStyleWhite,白色
     */
    scrollview.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    
    //控制手指到顶部的手指是否有效,是否允许手机点击顶部滑动的到顶部
     scrollview.scrollsToTop = YES;
    
    
    
   //是否分页显示
    scrollview.pagingEnabled = YES;
    
    //内容的最大缩放,同代理方法viewForZoomingInScrollView使用
    scrollview.maximumZoomScale = 10;
    //最小缩放
    scrollview.minimumZoomScale = 1;
    
   //最重要的两个属性//
    //显示区域
   // 内容视图第一次显示的坐标,初始显示坐标
    scrollview.contentOffset = CGPointMake(0,0);
   //滚动区域总和
    //scrollview.contentSize
    scrollview.contentSize = CGSizeMake(self.view.frame.size.width*3,300);

 

二.消除偏移量

self.automaticallyAdjustsScrollViewInsets = NO;//10之前使用 10之后判断一下用下面这个方法
scrollview.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

 

三.代理方法

/*
 总结:代理方法第一步先走将要开始拖拽方法然后一直走didscroll然后在走345然后一直didscroll然后走6
 */
//滚动的时候调用,每次滚动都会调用
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    //我们可以在这里判断滑动方向
    NSLog(@"%f",scrollView.contentOffset.x);
}
//将要拖拽的时候调用 第一步先走这个代理方法
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    
    NSLog(@"2将要拖拽的时候调用我%f",scrollView.contentOffset.x);
}
//将要结束拖拽时调用
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{
    NSLog(@"3将要结束拖拽的时候调用我");
    
}

//结束拖拽的时候调用
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    NSLog(@"4结束拖拽了");
    
}
//将要减速的时候调用
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    NSLog(@"5我将要减速");
    
}
//结束减速过程调用,当设置分页显示的时候一定会调用这个方法
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    
    NSLog(@"6减速结束了嗲用");
}
//已经结束滑动调用
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
    
    NSLog(@"7借宿滚动调用");
}

 

四.UIPageControl和广告栏(照片墙)

 

1)@property(nonatomic)NSInteger numberOfPages;

设置总页数

2)@property(nonatomic)NSInteger currentPage;

设置当前页,页数从0开始

3)@property(nonatomic,getter=isUserInteractionEnabled)BOOL userInteractionEnabled;

userInteractionEnabled 视图的用户交互属性,设置为NO后,视图无法响应用户的交互行为

4)@property(nonatomic,retain)UIColor *currentPageIndicatorTintColor

设置当前点的颜色

5)@property(nonatomic,retain)UIColor *pageIndicatorTintColor

设置其它点的颜色

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值