UI(八)滚动视图UIScrollView、UIPageControl

* UIScrollView的概念

 * UIScrollView的重要属性

 * UIPageControl常用属性

 * UIScrollView的代理方法(放大、缩小、拖拽)


#pragma ---UIScrollView的概念---

 *  UIScrollView是一个能够滚动的试图控件

* 能够滑动的视图,都是继承于UIScrollView,而UIScrollView继承于UIView

 *UIScrollView的子类:UITableView、UITextView、UICollectionView


#pragma --- UIScrollView的重要属性---

 contentSize 能够让视图显示更多的内容,contSize就是UIScrollView实际内容大小.如果contentSize的尺寸比ScrollView小,或者相等,则ScrollView不能滑动

 contentOffset 平移量,能够直接定位到你想看的内容

 contentInset 给ScrollView四周增加额外的滚动区域,内容的内边框

showsHorizontalScrollIndicator 是否设置水平滚动条

showsVerticalScrollIndicator 是否设置垂直滚动条

bounces 是否设置回滚效果

 scrollEnabled 是否滚动

 indicatorStyle 设置滚动条样式

 pagingEnabled 设置滚动分页

 要放大得挂上代理

maximumZoomScale 图片最多能放大多少倍 

minimumZoomScale 图片最多能缩小多少倍

decelerationRate 减速速率

//设置不包含导航栏 解决全屏滚动视图上面导航栏处无图片的问题,图片从导航栏一下开始定位计算

 self.edgesForExtendedLayout = UIRectEdgeNone; 

//设置滚动视图方向垂直

scrollView.direction = Vertical;


#pragma --- UIPageControl---

 //设置数目

 pageControl.numberOfPages = 3;

    //设置只有一页的时候不显示

    pageControl.hidesForSinglePage = YES;

 //设置在第几个显示

 pageControl.currentPage = 1;

 //设置它的光圈颜色和光圈内部颜色

 pageIndicatorTintColor 未选中的圈圈颜色

 currentPageIndicatorTintColor 选中的圈圈颜色

 //设置滚动条是否显示

 showsHorizontalScrollIndicator

 showsVerticalScrollIndicator


 *将UIPageControl添加到UIScrollView上会使之随之移动

所以应该添加到视图上

    [self.view addSubview:pageControl];


//即将减速的代理方法

//在此编写让pageControl光圈随滚动视图变化

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

 NSInteger curPage = scrollView.contentOffset.x/CGRectGetWidth(scrollView.frame);

 pageControl.currentPage = curPage;

}


 #pragma ---UIScrollView代理方法---

 已经滚动

- (void)scrollViewDidScroll:(UIScrollView*)scrollView

 已经缩放

- (void)scrollViewDidZoom:(UIScrollView *)scrollView

 开始拖拽

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

 将要拖拽结束 获得降速的速率 和偏移量

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


 拖拽结束 将要降速

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;


 开始降速

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

 结束降速

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView


滚动动画将要消失

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView


 设置缩放视图

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


 开始缩放

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullableUIView *)view

 结束缩放 以及缩放的比例

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullableUIView *)view atScale:(CGFloat)scale;


 是否可以滚动到顶部 设置YES 可以

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView


 移动到顶部调用

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 掌握 UIScrollView的常见属性 UIScrollView的常用代理方法 UIScrollView的缩放 ...
    JonesCxy阅读 2,765评论 1 12
  • import "AppDelegate.h" import "RootViewController.h" impo...
    ThEAll阅读 802评论 2 2
  • 一、简介 <<继承关系:UIScrollView --> UIView-->UIResponder-->NSObj...
    无邪8阅读 1,938评论 0 0
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 父子二人饮茶。 儿问: “为什么要我读书?” 父答: 我这么跟你说吧!你读了书,喝这茶时就会说:"此茶汤色澄红透亮...
    鱼越丶放空阅读 134评论 1 0