很多时候,在我们下载一款新的App软件后,都会发现刚开始打开时候有ScrollView的导引图,那么这种导引图是如何实现的呢?
接下来,笔者自己尝试了一下:
我的大致思路是这样的:
(1)准备好一个开机的视图控制器.上面加载的是我们导引图内容.
(2)用UserDefault来存储判断是否首次launch?
(3)如果是首次launch,则进入导引图界面.否则直接进入程序主体.
具体代码如下:
(1)准备好一个视图控制器,来存放导引图.
在最后一张导引图上面添加一个lable,然后就添加tap方法就是直接跳转主界面.
UIImageView *imageView3 = [[[UIImageView alloc]initWithFrame:CGRectMake(640, 0, 320, SCREEN_HEIGHT)]autorelease];
//imageView3.backgroundColor = [UIColor orangeColor];
imageView3.image = [UIImage imageNamed:@"Default.png"];
imageView3.userInteractionEnabled = YES;
//在第三张的引导图上 添加 一个 button 用于进入主程序
UIImageView *enterView = [[UIImageView alloc]initWithFrame:CGRectMake(220, 380, 40, 40)];
enterView.image = [UIImage imageNamed:@"a.png"];
enterView.userInteractionEnabled = YES;
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(220, 420, 50, 20)];
[label setFont:[UIFont helveticaFontWithSize:12]];
label.textColor = [UIColor blackGreen];
label.text = @"点击进入";
[imageView3 addSubview:label];
[label release];
tap
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(enterTheApp:)];
[enterView addGestureRecognizer:tap];
[tap release];
[imageView3 addSubview:enterView];
[enterView release];
[self.scrollView addSubview:imageView3];
tap方法
- (void)enterTheApp:(UITapGestureRecognizer *)tapGR
{
//加载主界面.
}
(2)在AppDelegate里面添加判断方法
//设置开机动画 设置第一次启动时有开机动画
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
//第一次启动的开机动画
GuidViewController *guidVC = [[GuidViewController alloc]init];
self.window.rootViewController = guidVC;
[guidVC release];
}else{
//加载主界面.
}