iOS开发笔记--应用首次启动显示用户引导

这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单

我们只需要在一个类里面写好用户引导页面  基本上都是使用UIScrollView 来实现,

新建一个继承于UIViewController的类 命名为 UserGuideViewController ,

UserGuideViewController.m 写

[csharp]  view plain  copy
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     // Do any additional setup after loading the view.  
  5.     self.view.backgroundColor = [UIColor redColor];  
  6.       
  7.     [self initGuide];   //加载新用户指导页面  
  8. }  
  9.   
  10. - (void)initGuide  
  11. {  
  12.     UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 640)];  
  13.     [scrollView setContentSize:CGSizeMake(1280, 0)];  
  14.     [scrollView setPagingEnabled:YES];  //视图整页显示  
  15.     //    [scrollView setBounces:NO]; //避免弹跳效果,避免把根视图露出来  
  16.       
  17.     UIImageView *imageview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];  
  18.     [imageview setImage:[UIImage imageNamed:@"0.png"]];  
  19.     [scrollView addSubview:imageview];  
  20.     [imageview release];  
  21.       
  22.     UIImageView *imageview1 = [[UIImageView alloc] initWithFrame:CGRectMake(320, 0, 320, 460)];  
  23.     [imageview1 setImage:[UIImage imageNamed:@"1.png"]];  
  24.     [scrollView addSubview:imageview1];  
  25.     [imageview1 release];  
  26.       
  27.     UIImageView *imageview2 = [[UIImageView alloc] initWithFrame:CGRectMake(640, 0, 320, 460)];  
  28.     [imageview2 setImage:[UIImage imageNamed:@"2.png"]];  
  29.     [scrollView addSubview:imageview2];  
  30.     [imageview2 release];  
  31.       
  32.     UIImageView *imageview3 = [[UIImageView alloc] initWithFrame:CGRectMake(960, 0, 320, 460)];  
  33.     [imageview3 setImage:[UIImage imageNamed:@"3.png"]];  
  34.     imageview3.userInteractionEnabled = YES;    //打开imageview3的用户交互;否则下面的button无法响应  
  35.     [scrollView addSubview:imageview3];  
  36.     [imageview3 release];  
  37.       
  38.     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//在imageview3上加载一个透明的button  
  39.     [button setTitle:nil forState:UIControlStateNormal];  
  40.     [button setFrame:CGRectMake(46, 371, 230, 37)];  
  41.     [button addTarget:self action:@selector(firstpressed) forControlEvents:UIControlEventTouchUpInside];  
  42.     [imageview3 addSubview:button];  
  43.       
  44.     [self.view addSubview:scrollView];  
  45.     [scrollView release];  
  46. }  

button的方法

[cpp]  view plain  copy
  1. - (void)firstpressed  
  2.  {  
  3.      [self presentModalViewController:[[[WeiBoViewController alloc] init] autorelease] animated:YES];  //点击button跳转到根视图  
  4.  }  

至于添加button是因为我的用户引导最后一个页面有一个画上去的button,写着 开始使用  我在上面添加一个透明的button 用以实现调用方法

 

打开AppDelegate.m

首先引入头文件

[cpp]  view plain  copy
  1. #import "UserGuideViewController.h"  
  2. #import "WeiBoViewController.h"  

WeiBoViewController是我的根视图

application: didFinishLaunchingWithOptions: 方法内进行判断

[cpp]  view plain  copy
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  4.     // Override point for customization after application launch.  
  5.       
  6.     //判断是不是第一次启动应用  
  7.     if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"])  
  8.     {  
  9.         [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];  
  10.         NSLog(@"第一次启动");          
  11.         //如果是第一次启动的话,使用UserGuideViewController (用户引导页面) 作为根视图  
  12.         UserGuideViewController *userGuideViewController = [[UserGuideViewController alloc] init];  
  13.         self.window.rootViewController = userGuideViewController;  
  14.         [userGuideViewController release];  
  15.     }  
  16.     else  
  17.     {  
  18.         NSLog(@"不是第一次启动");  
  19.         //如果不是第一次启动的话,使用LoginViewController作为根视图  
  20.         WeiBoViewController *weiBoViewController = [[WeiBoViewController alloc] init];  
  21.         self.window.rootViewController = weiBoViewController;  
  22.         [weiBoViewController release];  
  23.   
  24.     }  
  25.       
  26.     self.window.backgroundColor = [UIColor whiteColor];  
  27.     [self.window makeKeyAndVisible];  
  28.     return YES;  
  29. }  

这样,就可以实现第一次打开应用显示用户引导 之后不再显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值