iOS开发之应用首次启动显示用户引导

来源:互联网 发布:ip代理软件免费版 编辑:程序博客网 时间:2024/06/10 17:38

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

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

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

在UserGuideViewController.m 写


 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的方法

1 - (void)firstpressed

2 {

3     [self presentModalViewController:[[[WeiBoViewController alloc] init] autorelease] animated:YES]; //点击button跳转到根视图

4 }

 

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

 

打开AppDelegate.m

首先引入头文件

1 #import"UserGuideViewController.h"

2 #import"WeiBoViewController.h"

WeiBoViewController是我的根视图

application: didFinishLaunchingWithOptions: 方法内进行判断


 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 }