UIScrollView与UIPageControl

UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看。

1、常见属性

// 纪录UIScrollView滚动的位置(当前位置相对于frame原点的偏移位置)
@property(nonatomic)         CGPoint                      contentOffset; 
// 内容尺寸(能滚动的范围)
@property(nonatomic)         CGSize                       contentSize;
// 额外增加的滚动区域(在上下左右四个边缘)
@property(nonatomic)         UIEdgeInsets                 contentInset;
// 代理对象 
@property(nonatomic,assign) id<UIScrollViewDelegate>      delegate; 
// 是否有弹簧效果
@property(nonatomic)         BOOL                         bounces;   
// 是否分页
@property(nonatomic,getter=isPagingEnabled) BOOL          pagingEnabled; 
// 是否显示水平滚动条
@property(nonatomic)         BOOL                         showsHorizontalScrollIndicator;
//是否显示垂直滚动条
@property(nonatomic)         BOOL                         showsVerticalScrollIndicator; 

2、捏合手势缩放
原理:
当用户尝试缩放UIScrollView的时候,scrollView会尝试向它的delegate(代理对象)发送一条消息,询问要缩放哪一个子控件,换种说法,scrollView会尝试调用d elegate的某个方法,询问要缩放哪一个子控件,并且该方法的返回值就是需要缩放的子控件。

步骤:

  1. 设置scrollView的delegate为控制器(self)
  2. 控制器遵守UIScrollViewDelegate协议< UIScrollViewDelegate>
  3. 控制器实现- (UIView * ) viewForZoomingInScrollView:(UIScrollView *)scrollView;方法,返回需要缩放的子控件
  4. 设置最大和最小缩放值

3、分页效果
设置pagingEnabled = YES; UIScrollView会被分割成多个独立页面,用户的滚动体验则变成了页面翻转。

一般与UIPageControl配合使用:
UIPageControl的常用属性:

// 总页数
@property(nonatomic) NSInteger numberOfPages;
// 当前页码
@property(nonatomic) NSInteger currentPage;
// 当只有一页的时候,是否要隐藏视图
@property(nonatomic) BOOL hidesForSinglePage; 
// 非当前页点颜色
@property(nonatomic,retain) UIColor *pageIndicatorTintColor 
// 当前页点颜色
@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor 

你可能感兴趣的:(UIScrollView与UIPageControl)