09 UIScrollView 、 UIPageControl

09 UIScrollView 、 UIPageControl

1.UIScrollview
1)核心功能:
滚动:只有contentSize大于frame.size的时候,才能够滚动。
缩放:自带缩放,可以指定缩放倍数。

UIScrollView滚动相关属性:
contentSize //定义内容区域大小,决定是否能够滑动
contentOffset //视图左上角距离坐标原点的偏移量
scrollsToTop //滑动到顶部(点状态条的时候)
pagingEnabled //是否整屏翻动
bounces //边界是否回弹

scrollEnabled //是否能够滚动
showsHorizontalScrollIndicator //控制是否显示水平方向的滚动条
showVerticalScrollIndicator //控制是否显示垂直方向的滚动条
alwaysBounceVertical //控制垂直方向遇到边框是否反弹
alwaysBounceHorizontal //控制水平方向遇到边框是否反弹

UIScrollView缩放相关属性:
minimumZoomScale // 缩小的最小比例
maximumZoomScale //放大的最大比例
zoomScale //设置变化比例
zooming //判断是否正在进行缩放反弹
bouncesZoom //控制缩放的时候是否会反弹
要实现缩放,还需要实现delegate,指定缩放的视图是谁。

2).UIScrollView的常用代理方法
1)与滚动有关的代理方法

//将要开始拖拽(手指触碰到屏幕,并且移动)
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

}

//已经开始滚动(只要scrollview是滚动状态就会调用此方法)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

}

//停止拖动(当手指(触摸对象)离开,正在滚动的视图减速)
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    NSLog(@--%s, __func__);
}

//视图真正静止(视图不动了)
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    NSLog(@%s,__func__);
}

3)与缩放有关的代理方法

//指定scrollView的某一个子视图为可缩放视图(只能指定一个!),前提条件是子视图已经添加到scrollView上面
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

}

//开始缩放的代理方法     第二个参数view:这个参数是指我们要缩放的视图(这里就是imageView)。

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{
    NSLog(@---%@, view);
}

//正在缩放的代理方法     只要正在缩放,就会执行此方法。所以此方法会在缩放过程中多次调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{

 }

//缩放结束所执行的代理方法
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{

}

2.UIPageControl
UIPageControll 是继承于UIControl的一个IOS系统UI控件,可以提供给开发者设计分页效果的功能。pageControl不单独使用,通常与scrollView结合使用。

初始化方法:
UIPageControl * page = [[UIPageControl alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

属性:
设置控制器页数(默认为0@property(nonatomic) NSInteger numberOfPages;  

设置当前所在页码
@property(nonatomic) NSInteger currentPage;  

设置当总页数为1时,是否自动隐藏控制器
@property(nonatomic) BOOL hidesForSinglePage;  

设置是否延迟自动更新控制器的当前页码(默认为NO@property(nonatomic) BOOL defersCurrentPageDisplay;
注意:这个属性如果设置为YES,点击时并不会改变控制器显示的当前页码点,必须手动调用
- (void)updateCurrentPageDisplay; 
这个方法,才会更新。

更新控制器当前页码
- (void)updateCurrentPageDisplay; 

通过页数得到控制器大小
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount; 
这个属性用于页数会变化的情况下进行大小动态处理

设置控制器页码点得颜色
@property(nonatomic,retain) UIColor *pageIndicatorTintColor;

设置控制器当前所在页码点的颜色
@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor;
代码演示
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值