新手引导页
来源:互联网 发布:头上粉色爱心 软件 编辑:程序博客网 时间:2024/05/18 03:23
在项目中我们经常会看到下载的应用第一进入或者更新之后再进来时会看到对本应用的一些介绍及使用,这就是新手引导,下面我们简单的实现新手引导页面;
1.创建一个继承UIWindow的类目命名为 UIWindow+Extension
,然后在这个类目做我们的实现操作
#import "BSTabBarController.h"#import "BSNewfeatureViewController.h"#import "AppDelegate.h"#define bundleVersionKey @"CFBundleVersion"@implementation UIWindow (Extension)- (void)switchRootViewController{ // 上一次的使用版本(存储在沙盒中的版本号) NSString *lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:bundleVersionKey]; // 当前软件的版本号(从Info.plist中获得) NSString *currentVersion = [NSBundle mainBundle].infoDictionary[bundleVersionKey]; if ([currentVersion isEqualToString:lastVersion]) { // 版本号相同:这次打开和上次打开的是同一个版本 AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; app.tabBar = [[BSTabBarController alloc] init]; self.rootViewController = app.tabBar; } else { // 这次打开的版本和上一次不一样,显示新特性 self.rootViewController = [[BSNewfeatureViewController alloc] init]; }}// 当前的版本号存进沙盒- (void)saveCurrentVersion{ // 将当前的版本号存进沙盒 [[NSUserDefaults standardUserDefaults] setObject:[NSBundle mainBundle].infoDictionary[bundleVersionKey] forKey:bundleVersionKey]; [[NSUserDefaults standardUserDefaults] synchronize];}@end
2.在AppDelegate.h文件中,BSTabBarController是自己封装继承UITabBarController的类
@class BSTabBarController;@interface AppDelegate : UIResponder <UIApplicationDelegate>@property (strong, nonatomic) UIWindow *window;@property (strong, nonatomic) BSTabBarController *tabBar;@end
3.在AppDelegate.m文件中,在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
中调用如下方法
[self.window switchRootViewController];
4."BSNewfeatureViewController.h"
中代码实现需要的效果,这里就不具体实现了
5.当用户浏览完引导界面或点击按钮进入主界面时,切换应用的主控制器
- (void)startClick{ // 切换到TabBarController UIWindow *window = [UIApplication sharedApplication].keyWindow; [window saveCurrentVersion]; AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; app.tabBar = [[BSTabBarController alloc] init]; window.rootViewController = app.tabBar;}
0 0
- 新手引导页-ViewPager
- 新手引导页
- 新手引导页
- ViewPager+app新手引导页
- 新手引导
- 新手引导
- 新手引导
- 新手引导
- iOS新手引导页的实现,源码
- App项目之新手引导页
- 新手引导页(GuideView)的使用
- iOS-新手引导页+标签控制器
- 游戏新手引导设计
- app 新手引导功能设计
- cocos2d-x 新手引导
- cocos2d-x 新手引导
- cocos2d-x 新手引导
- COCOS2D-X 新手引导
- 七牛推流SDK demo 中 关键类的注释
- 非常好的Makefile实用总结
- 已安装nginx动态添加模块
- Struts2中xml配置文件的元素解析
- 杨振宁谈爱因斯坦:“他厉害在哪里?”-------网易科技
- 新手引导页
- 多线程五
- 洛谷 P2051 [AHOI2009]中国象棋
- redis数据备份的两种机制rdb aof
- 【poj 3070】 Fibonacci
- LA 2965 Jurassic Remains 中途相遇法 .
- 关于上传头像到服务器的问题
- 欧拉工程第17题 用英文写出1到1000的所有数字需要多少个字母
- 去雾 - Non-Local Image Dehazing