@property(nonatomic, retain) UIScrollView *scrollView;
@property(nonatomic, retain) UIImageView *opeImageView;
@property (nonatomic, retain)UIPageControl *pageControl;
#pragma mark - 创建滑动视图 UIScrollView
- (void)createScrollView
{
self.scrollView = [[[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
self.backgroundColor = [UIColor grayColor];
_scrollView.contentSize = CGSizeMake(6 * KScreenWidth, KScreenWidth);
self.scrollView.showsHorizontalScrollIndicator = YES;
self.scrollView.showsVerticalScrollIndicator = YES;
_scrollView.pagingEnabled = YES;
_scrollView.bounces = YES;
_scrollView.contentOffset = CGPointMake(KScreenWidth, 0);
_scrollView.scrollsToTop = YES;
_scrollView.scrollEnabled = YES;
[self addSubview:_scrollView];
[self.scrollView release];
}
创建UIPageControl
#pragma mark - 创建 UIPageControl
- (void)createPageControl
{
self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(120, KScreenHeight - 100, 160, 30)];
self.pageControl.numberOfPages = 6;
self.pageControl.pageIndicatorTintColor = [UIColor redColor];
self.pageControl.currentPageIndicatorTintColor = [UIColor greenColor];
[self addSubview:self.pageControl];
[self.pageControl release];
}
创建引导多张图片
#pragma mark - 创建引导多张图片
- (void)createLeadPageImage
{
for (int i = 0; i < 5; i++) {
NSString *name = [NSString stringWithFormat:@"bg_%d.jpg",i];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:name]];
imageView.frame = CGRectMake(i * KScreenWidth, 0, KScreenWidth, KScreenHeight);
[self.scrollView addSubview:imageView];
[imageView release];
}
}
创建 ImageView
#pragma mark - 创建 ImageView
- (void)createOpeImageView
{
self.opeImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_4"]];
self.opeImageView.frame = CGRectMake(0, 0, 375, 667);
[self.scrollView addSubview:_opeImageView];
[_opeImageView release];
}
实现代理
@interface RootViewController () <UIScrollViewDelegate>
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@", self.view);
self.rootView.scrollView.delegate = self;
self.rootView.scrollView.maximumZoomScale = 3;
self.rootView.scrollView.minimumZoomScale = 0.3;
}
代理方法
#pragma mark - scroolView 滑动的时候会触发方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSInteger index = self.rootView.scrollView.contentOffset.x / KScreenWidth;
self.rootView.pageControl.currentPage = index;
[self.rootView.pageControl addTarget:self action:@selector(pageControlAction:) forControlEvents:UIControlEventValueChanged];
}
- (void)pageControlAction:(UIPageControl *)sender
{
[self.rootView.scrollView setContentOffset:CGPointMake(KScreenWidth * sender.currentPage, 0) animated:YES];
}
#pragma mark - scroolView 开始拖拽
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"开始拖拽了");
}
#pragma mark - scroolView 结束拖拽
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
NSLog(@"结束拖拽");
}
#pragma mark - scroolView 开始减速触发方法
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
NSLog(@"开始减速触发方法");
}
#pragma mark - scroolView 结束减速触发方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"结束减速����");
}
缩放
#pragma mark - scrollView 缩放执行过程中
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
if (self.rootView.scrollView.zoomScale < 1.0) {
self.rootView.opeImageView.center = _rootView.center;
}
}
#pragma mark - scroolView 指定缩放的内容
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.rootView.opeImageView;
}