在app中添加新手引导视图

来源:互联网 发布:乐股软件手机 编辑:程序博客网 时间:2024/05/12 04:53

在app中添加新手引导视图

原理是用NSUserDefaults来判断是否是第一次启动,如果是第一次启动,则在当前页面添加启动画面。

首先是AppDelegate:

- (BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions

{

  if(![[NSUserDefaultsstandardUserDefaults]boolForKey:@"everLaunched"]){

      

      [[NSUserDefaultsstandardUserDefaults]setBool:YESforKey:@"everLaunched"];

      

      [[NSUserDefaultsstandardUserDefaults]setBool:YESforKey:@"firstLaunch"];

      

      NSLog(@"first launch");

   

   }else{

      

      [[NSUserDefaultsstandardUserDefaults]setBool:NOforKey:@"firstLaunch"];

      

      NSLog(@"second launch");

      

   }

  returnYES;

}




解释一下StoryBoard的配置,GuideVC是新手引导的ViewController,而ViewController是初始界面,即IntialViewController。第三个未设置控制器。

在GuideVC中,需要写入动画代码,通常是PageControl加几幅图,在此略过,只是加一个button,而且是直接用segue到初视图。

关键部分代码如下:

ViewController.h:

#import

@classGuideVC;

@interfaceViewController :UIViewController


@property(strong,nonatomic)GuideVC*guideVC;

@end


ViewController.m:

-(void)viewWillAppear:(BOOL)animated

{

  if([[NSUserDefaultsstandardUserDefaults]boolForKey:@"firstLaunch"]){

      

      [[NSUserDefaultsstandardUserDefaults]setBool:NOforKey:@"firstLaunch"];

      

      self.guideVC=[self.storyboardinstantiateViewControllerWithIdentifier:@"guide"];

       UIView *guideView=self.guideVC.view;

       CGRect switchViewFrame=guideView.frame;//得到frame

      switchViewFrame.origin.y=0;          //将推入视图的y值设置为0,目的是防止出现视图加载下移的情况

       guideView.frame=switchViewFrame;

       [self.viewinsertSubview:guideViewaboveSubview:self.view];

   }

   else

   {

      

   }

}



转载自:http://yul100887.blog.163.com/blog/static/20033613520147274371897/
0 0
原创粉丝点击