在app中添加新手引导视图(XCode4.6)

在app中添加新手引导视图(XCode4.6)

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

首先是AppDelegate:

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

{

    if (![[NSUserDefaults standardUserDefaultsboolForKey:@"everLaunched"]) {

        

        [[NSUserDefaults standardUserDefaultssetBool:YES forKey:@"everLaunched"];

        

        [[NSUserDefaults standardUserDefaultssetBool:YES forKey:@"firstLaunch"];

        

        NSLog(@"first launch");

    

    }else {

        

        [[NSUserDefaults standardUserDefaultssetBool:NO forKey:@"firstLaunch"];

        

        NSLog(@"second launch");

        

    }

    return YES;

}


图片 

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

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

关键部分代码如下:

ViewController.h:

#import <UIKit/UIKit.h>

@class GuideVC;

@interface ViewController : UIViewController


@property(strong,nonatomicGuideVC *guideVC;

@end


ViewController.m:

-(void)viewWillAppear:(BOOL)animated

{

    if ([[NSUserDefaults standardUserDefaultsboolForKey:@"firstLaunch"]) {

        

        [[NSUserDefaults standardUserDefaultssetBool:NO forKey:@"firstLaunch"];

        

        self.guideVC=[self.storyboard instantiateViewControllerWithIdentifier:@"guide"];

        UIView *guideView=self.guideVC.view;

        CGRect switchViewFrame=guideView.frame//得到frame

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

        guideView.frame=switchViewFrame;

        [self.view insertSubview:guideView aboveSubview:self.view];

    }

    else

    {

        

    }

}


有了这个,引导视图应该就OK了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limaning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值