UIScrollView继承UIView.可以通过创建UIView的四部对UIScrollView
self.view.backgroundColor = [UIColor whiteColor];
UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:self.view.frame];
scrollView.backgroundColor=[UIColor redColor];
[self.view addSubview:scrollView];
[scrollView release];
1.设定滚动范围,针对屏幕的高和宽设定宏
scrollView.contentSize=CGSizeMake(WIDTH * 6, HEIGHT);
2.按页滚动
scrollView.pagingEnabled=YES;
3.向ScrollView添加视图
for(NSInteger i=0;i<6;i++)
{
NSString *picName=[NSString stringWithFormat:@"knockout_%02ld.jpg",i];
//通过图片来创建UIImageView(用来显示图片还是这个东西)
UIImageView *imageView=[[UIImageView alloc]initWithImage:[UIIamge imageName:picName]];
imageView.frame=CGRectMake(WIDTH*i , 0, WIDTH, HEIGHT);
//把imageView放在ScrollView上
[scrollView addSubView:imageView];
[imageView release];
}
4.设置偏移量
scroView.contenOffset=CGPointMake(WIDTH*2, 0);
5.关闭边界回弹效果,默认是YES
scrollView.bounces=NO;
6.打印图片数
NSLog(@"图片数%@",scrollView.subviews);
7.关闭滚动条
水平和垂直的滚动条会作为两个子视图添到scrollView视图里,如果把滚动条效果关闭,这两个视图就不会添加到ScrollView的子视图里
ScrollView.showHorizontalScrollIndicator=NO;
ScrollVIew.shouVerticalScrollIndicator=NO;
8.签订协议 必做的事情
我们会在ScrollView内部会看见协议
我们在创建好ScrollView之后就可以设置代理人了
@interface MainViewController ()<UIScrollViewDelegate>
@end
ScrollView.delegate=self;
9.滚动的协议方法
#pragma mark 只要是滚动就会触发的协议方法
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSLog(@"开始滚动");
}
#pragma mark 当scrollView减速停止时会触发协议方法
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSLog(@"滚动停止");
}
10.缩放
放大
scrollView.maximumZoomScale=2;
缩小
scrollView.minimumZoomScale = 0;
原始的缩放比例
scrollView.zoomScale = 1;
#pragma mark 专门用来缩放的协议方法的实现
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return [scrollView.subviews firstObject];
}