初始化及添加背景色
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];
scrollView.backgroundColor = [UIColor cyanColor];
设置显示内容区域
scrollView.contentSize = CGSizeMake(kScreenWidth, kScreenHeight * 6);
关闭滚动条
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
整页滑动
scrollView.pagingEnabled = YES;
设置回弹效果(单独设置没有效果,三个一起设置)
scrollView.bounces = YES;
scrollView.alwaysBounceHorizontal = YES;
scrollView.alwaysBounceVertical = YES;
设置缩放比例
scrollView.minimumZoomScale = 0.5
scrollView.maximumZoomScale = 2
设置代理
scrollView.delegate = self;
显示视图及释放内存
[self.view addSubview:scrollView]
[scrollView release]
添加图片
UIImageView *imageV = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
imageV.image = [UIImage imageNamed:@"1.jpg"];
imageV.tag = 100;
[scrollView addSubView:imageV];
[imageV release];
添加还原缩放的按钮
UIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)];button.frame = CGRectMake(100, 100, 100, 100);
button.backgroundColor = [UIColor greenColor];
[button addTarget:self action:@selector(click:) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:button];
- (void)click:(UIButton *)button{
UIScrollView *scroll = (UIScrollView *)[self.view viewWithTag:101];
[scroll setZoomScale:1 animated:YES];
[scroll setContentOffset:CGPointMake(0, kScreenHeight)animated: YES];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
UIImageView *imageView = (UIImageView *)[self.view viewWithTag:100];
imageView.center = self.view.center;
NSLog(@"缩放时 一直触发");
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return scrollView.subviews[0];
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
NSLog(@"将要开始拖动");
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
NSLog(@"已经结束拖拽");
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
NSLog(@"将要开始减速");
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSLog(@"已经结束减速");
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{
NSLog(@"缩放已经结束触发");
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
NSLog(@"改变偏移量的动画结束后触发");
}
UIPageControl
初始化
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, kScreenHeight - 50, kScreenWidth, 50)];
pageControl.backgroundColor = [UIColor blackColor];
设置共多少页
pageControl.numberOfPages = 5;
设置当前显示第几页
pageControl.currentPage = 2;
设置选中和未选中的颜色
pageControl.pageIndicatorTintColor = [UIColor redColor];
pageControl.currentPageIndicatorTintColor = [UIColor yellowColor];
添加单击响应事件
[pageControl addTarget:self action:@selector(page:) forControlEvents:(UIControlEventTouchUpInside)];
添加显示视图
[self.view addSubview:pageControl];
[pageControl release];
实现单机响应事件方法
- (void)page:(UIPageControl *)page{
NSLog(@"%ld",page.currentPage);
}