以下是通过UIScrollView实现的引导页。
AppDelegate.m
// HandCircle
//
// Created by SR-APP-6 on 15/9/26.
// Copyright (c) 2015年 SR-APP-6. All rights reserved.
//
#import "AppDelegate.h"
#import "ViewController.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
ViewController *viewController = [[ViewController alloc] init];
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];
return YES;
}
end
封装的引导页RunPageController.h文件
#import <UIKit/UIKit.h>
@protocol RunPageControllerDelegate <NSObject>
-(void)OnButtonClick;
@end
@interface RunPageController : UIView
@property id<RunPageControllerDelegate>delegate;
@end
引导页RunPageController.m文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
//
// RunPageController.m
// HandCircle
//
// Created by SR-APP-6 on 15/9/26.
// Copyright (c) 2015年 SR-APP-6. All rights reserved.
//
#import "RunPageController.h"
#import "Common.h"
@interface
RunPageController()<UIScrollViewDelegate>
@property
(
nonatomic
, strong)UIScrollView *runScrollView;
@property
(
nonatomic
, strong)UIPageControl *pageController;
@property
UIButton *onButton;
@end
@implementation
RunPageController
- (instancetype)initWithFrame:(CGRect)frame{
self
= [
super
initWithFrame:frame];
if
(
self
) {
self
.runScrollView = [[UIScrollView alloc] initWithFrame:
self
.frame];
self
.runScrollView.pagingEnabled =
YES
;
self
.runScrollView.contentSize = CGSizeMake(
self
.frame.size.width * 3,
self
.frame.size.height);
[
self
addSubview:
self
.runScrollView];
self
.pageController = [[UIPageControl alloc] initWithFrame:CGRectMake(0,
self
.frame.size.height*.8,
self
.frame.size.width, 10)];
self
.pageController.currentPageIndicatorTintColor = [UIColor greenColor];
self
.pageController.numberOfPages = 3;
[
self
addSubview:
self
.pageController];
CGPoint scrollPoint = CGPointMake(0, 0);
[
self
.runScrollView setContentOffset:scrollPoint animated:
YES
];
//添加引导页
[
self
creatOne];
[
self
creatTwo];
[
self
creatThree];
}
return
self
;
}
#pragma mark -- 点击进入
- (
void
)onButtonGO{
[
self
.delegate OnButtonClick];
}
#pragma mark --UIScrollViewDelegate
- (
void
)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat PageIndictor =
self
.runScrollView.contentOffset.x/MAINVIEWWIDTH;
self
.pageController.currentPage = roundf(PageIndictor);
}
#pragma mark -- 添加启动页
- (
void
)creatOne{
UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@
"0启动页1"
]];
imageView.frame = CGRectMake(0, 0, MAINVIEWWIDTH, MAINVIEWHEIGHT);
imageView.contentMode = UIViewContentModeScaleAspectFit;
self
.runScrollView.delegate =
self
;
[
self
.runScrollView addSubview:imageView];
}
- (
void
)creatTwo{
UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@
"0启动页2"
]];
imageView.frame = CGRectMake(MAINVIEWWIDTH, 0, MAINVIEWWIDTH, MAINVIEWHEIGHT);
imageView.contentMode = UIViewContentModeScaleAspectFit;
self
.runScrollView.delegate =
self
;
[
self
.runScrollView addSubview:imageView];
}
- (
void
)creatThree{
UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@
"0启动页3"
]];
imageView.frame = CGRectMake(MAINVIEWWIDTH * 2, 0, MAINVIEWWIDTH, MAINVIEWHEIGHT);
imageView.contentMode = UIViewContentModeScaleAspectFit;
self
.runScrollView.delegate =
self
;
[
self
.runScrollView addSubview:imageView];
self
.onButton = [[UIButton alloc] initWithFrame:CGRectMake(MAINVIEWWIDTH/2 - 50, MAINVIEWHEIGHT * 0.8, 100, 50)];
[
self
.onButton setTitle:@
"立即进入"
forState:UIControlStateNormal];
[
self
.onButton addTarget:
self
action:
@selector
(onButtonGO) forControlEvents:UIControlEventTouchUpInside];
self
.onButton.backgroundColor = [UIColor greenColor];
imageView.userInteractionEnabled =
YES
;
[imageView addSubview:
self
.onButton];
}
@end
|
控制器实现的代码。
// // ViewController.m // HandCircle // // Created by SR-APP-6 on 15/9/26. // Copyright (c) 2015年 SR-APP-6. All rights reserved. // #import "ViewController.h" #import "RunPageController.h" @interface ViewController ()<RunPageControllerDelegate> @property RunPageController *RunPageControllerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor clearColor]; self.RunPageControllerView = [[RunPageController alloc] initWithFrame:self.view.frame]; self.RunPageControllerView.delegate = self; [self.view addSubview:self.RunPageControllerView]; } #pragma mark -- RunPageControllerDelegate -(void)OnButtonClick{ [UIView animateWithDuration:0.5 animations:^{ self.RunPageControllerView.alpha = 0; } completion:^(BOOL finished) { [self.RunPageControllerView removeFromSuperview]; }]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
下面是源码连接地址:http://pan.baidu.com/s/1mh42HeC