在app中添加新手引导视图

在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/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值