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;

你可能感兴趣的:(UI(八)滚动视图UIScrollView、UIPageControl)