UIScrollView

//滚动视图
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10,10,300,396)];
//设置代理
scrollView.delegate = self;
//添加到scrollView上的视图可以称作内容视图
[scrollView addSubview:imageView];
//contentSize 设置内容视图滚动区域的大小,一般contentSize精确设置为内容视图的大小,或者多个内容视图的size和
scrollView.contentSize = CGSizeMake(imageView.frame.size.width,imageView.frame.size.height);
//隐藏指示条
scrollView.showsVerticalScrollIndicator = NO;
scrollView.showsHorizontalScrollIndicator = NO;
//可以禁止边界回弹效果
scrollView.bounces = NO;
//设置内容视图的偏移量 (以内容视图左上角的点为坐标原点,scrollView的起始点相对于内容视图原点的偏移量)
scrollView.contentOffset = CGPointMake(100,100);
scrollView.backgroundColor = [UIColor redColor];
//计算分页的属性 将内容视图的区域分页呈现,每一页的大小为scrollView的size
//scrollView.pagingEnabled = YES;
//设置最大、最小缩放倍数 (缩放过程中不用理会contentSize的变化)
scrollView.maximumZoomScale = 2.0;
scrollView.minimumZoomScale = 1.0;

#pragma mark - UIScrollViewDelegate
//设置内容视图的缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    return scrollView.subviews[0];
}
//scrollView滚动时,会时时调用此方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSLog(@"did scroll!");
}
//开始拖拽scrollView时,调用此方法
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    NSLog(@"begin dragging!");
}
//停止拖拽scrollView时,调用此方法
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    NSLog(@"end dragging!");
}
//减速到停止时,触发此方法,(必须有减速的过程)
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    NSLog(@"减速到停止!");
}



//内容区域
@property(nonatomic) CGPoint contentOffset;
//偏移量
@property(nonatomic) CGSize contentSize;
//弹簧效果
@property(nonatomic) BOOL bounces; 
//分页效果
@property(nonatomic,getter=isPagingEnabled) BOOL pagingEnabled; 
//允许滑动视图本身,如果设为no只能通过方法滑动,不能直接用手滑动
@property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
//显示水平进度条
@property(nonatomic) BOOL showsHorizontalScrollIndicator;
//显示垂直进度条
@property(nonatomic) BOOL showsVerticalScrollIndicator; 
//放大和缩小的倍数(代理方法中返回的view才能被缩放)
@property(nonatomic) CGFloat minimumZoomScale;
@property(nonatomic) CGFloat maximumZoomScale;

//缩放到某个区域,(具体出现的区域受缩放倍数的影响)
- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated;


//2种通过代码滑动视图的方法,一个是设置偏移量,一个是滑动到某个区域(常用第一个)
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated;
/***【UIScrollViewDelegate】*/
//代理方法
//滑动过程中
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
//开始拖动
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
//停止拖动
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
//开始自由滑动
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
//停止自由滑动
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView; 
//允许缩放的视图(一个scrollview中只能有一个可以缩放)
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;


/**【UIPageControl】*/
//小点点
@property(nonatomic) NSInteger numberOfPages;
@property(nonatomic) NSInteger currentPage; 

//从沙盒文件中读取数据
NSArray *mainArr = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"douluodalu" ofType:@"plist"]];
原文地址:https://www.cnblogs.com/liudongyan/p/4399290.html