您的位置:首页 > 移动开发

在app中添加新手引导视图

2014-12-01 22:23 351 查看
在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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: