在app中添加新手引导视图
2014-09-04 17:42
162 查看
转载: http://yul100887.blog.163.com/blog/static/20033613520147274371897/?latestBlog
在app中添加新手引导视图原理是用NSUserDefaults来判断是否是第一次启动,如果是第一次启动,则在当前页面添加启动画面。
首先是AppDelegate:
- (BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
if
(![[NSUserDefaultsstandardUserDefaults]
boolForKey:@"everLaunched"]){
[[NSUserDefaultsstandardUserDefaults]
setBool:YES
forKey:@"everLaunched"];
[[NSUserDefaultsstandardUserDefaults]
setBool:YES
forKey:@"firstLaunch"];
NSLog(@"first launch");
}else
{
[[NSUserDefaultsstandardUserDefaults]
setBool:NO
forKey:@"firstLaunch"];
NSLog(@"second launch");
}
return
YES;
}
解释一下StoryBoard的配置,GuideVC是新手引导的ViewController,而ViewController是初始界面,即IntialViewController。第三个未设置控制器。
在GuideVC中,需要写入动画代码,通常是PageControl加几幅图,在此略过,只是加一个button,而且是直接用segue到初视图。
关键部分代码如下:
ViewController.h:
#import
@class
GuideVC;
@interfaceViewController :UIViewController
@property(strong,nonatomic)
GuideVC
*guideVC;
@end
ViewController.m:
-(void)viewWillAppear:(BOOL)animated
{
if
([[NSUserDefaultsstandardUserDefaults]
boolForKey:@"firstLaunch"]){
[[NSUserDefaultsstandardUserDefaults]
setBool:NO
forKey:@"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.view
insertSubview:guideViewaboveSubview:self.view];
}
else
{
}
}
有了这个,引导视图应该就OK了。
相关文章推荐
- 在app中添加新手引导视图(XCode4.6)
- 在app中添加新手引导视图
- iOS 新手指引在App中的添加,第一次启动应用程序出现,后面都不出现
- app 新手引导功能设计
- iOS App中第一次运行添加半透明新手指引
- Android app新手引导高亮提示,简单易用
- 前网易PM总监:移动APP登录、注册、新手引导、布局的设计经验
- iOS 新手指引在App中的添加,第一次启动应用程序出现,后面都不出现
- App新手引导的设计
- android首次进入App新手引导
- iOS新手指导在APP中的添加,第一次启动应用出现,后面都不出现
- android视图学习---添加窗口小部件以及AppWidget的创建详解和快捷方式
- android实现App新手引导功能
- ASP.NET MVC4 新手入门教程之三 ---3.添加视图
- APP中透明新手引导页面的实现
- iOS 新手指引在App中的添加,第一次启动应用程序出现,后面都不出现
- 为app添加引导页面
- iOS App中第一次运行添加半透明新手指引
- iOS 新手指引在App中的添加,第一次启动应用程序出现,后面都不出现