使用 StoryBoard 的时候加入用户引导页面

如果想让一个APP加上引导页面是一个非常完美的举动

但是,总会遇到一些问题

(不要忘记在APDelegate里面加上用户引导页面的头文件和程序启动时的第一个页面哦)

情况一:纯代码

判断是否是第一次启动应用程序

 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 2 {
 3   self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]] ;
 4   if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"])
 5   {
 6      [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
 7     NSLog(@"第一次启动");
 8   //如果是第一次启动的话,使用UserGuideViewController (用户引导页面) 作为根视图
 9    UserGuideViewController *userGuideViewController = [[UserGuideViewController alloc] init];
10    self.window.rootViewController = userGuideViewController;
11   }
12   else
13   {
14      NSLog(@"不是第一次启动");
15 TranslateController *tranVC = [[TranslateController alloc] init];
16        self.window.rootViewController = tranVC;
17    }
18      self.window.backgroundColor = [UIColor whiteColor];
19      [self.window makeKeyAndVisible];
20   return YES;
21 }

情况二:使用storyboard

情况基本相同,不同的是

1  NSLog(@"不是第一次启动");
2         UIStoryboard *story = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
3         UIViewController * vc = [story instantiateViewControllerWithIdentifier:@"TranslateController"];
4         self.window.rootViewController = vc;

解释一下原理先,如果使用纯代码的话,不是第一次启动应用程序的时候会自动执行下面的代码,所以不会有问题

如果使用storyboard的话,初始化第一个视图控制器(程序第一个界面),什么都没有,(除非你自己使用代码添加控件),而且storyboard在启动的时候并不是从这里开始的,而是默认storyboard的第一个视图控制器,所以,加上一个标志就好

这样它就能找到应该启动的界面

时间: 2024-10-25 17:00:14

使用 StoryBoard 的时候加入用户引导页面的相关文章

遇到别人留下的storyboard的,你需要一个引导图,但是不知道怎么跳转.

首先在AppDeledate.m文件里是这样. { self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; if (![[NSUserDefaults standardUserDefaults] boolForKey:@"firstL

iOS开发 首次启动显示用户引导,第二次启动直接进入App,UIScrollView,UIPageControl,NSUserDefaults

首先创建一个引导图的控制器类 UserGuideViewController.h和UserGuideViewController.m #import <UIKit/UIKit.h> #import "firstViewController.h" #define WIDTH self.view.frame.size.width #define HEIGHT self.view.frame.size.height @interface UserGuideViewControll

iOS开发之应用首次启动显示用户引导

这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单 我们只需要在一个类里面写好用户引导页面  基本上都是使用UIScrollView 来实现, 新建一个继承于UIViewController的类 命名为 UserGuideViewController , 在UserGuideViewController.m 写 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup after load

iOS App初次启动时的用户引导页制作实例分享

iOS App初次启动时的用户引导页制作实例分享 作者:老初 字体:[增加 减小] 类型:转载 时间:2016-03-09我要评论 这篇文章主要介绍了iOS App初次启动时的用户引导页制作实例分享,其中判断程序是否是第一次或版本更新以后第一次启动是一个关键点,需要的朋友可以参考下 应用程序APP一般都有引导页,引导页可以作为操作指南指导用户熟悉使用:也可以展现给用户,让用户了解APP的功能作用.引导页制作简单,一般只需要一组图片,再把图片组展现出来就可以了.展示图片组常用UIScrollVie

Android用户引导页实现,圆点实现动画效果

当前市面上比较流行的应用,用户引导页已经是一个必不可缺的功能点了,简单的介绍下应用的基础功能或者版本升级功能点介绍. 那么常用的用户引导页是如何实现的呢?这篇文章就说说我个人用到的,并且觉得使用不错的效果. 1.首先定义布局文件guide_layout.xml文件,主要使用ViewPager做页面显示,使用一个圆点布局显示圆点,圆点根据图片数目动态添加. guide_layout.xml文件的代码如下: <?xml version="1.0" encoding="utf

手机产品设计之用户引导

在手机产品的设计过程中,由于手机界面的承载能力有限,产品功能的不断膨胀,必须要在用户打开应用之后告知他某些新奇的功能,引导他完成某些主要任 务流程,让用户不至于迷失在陌生应用中不知所措.帮助用户快速掌握应用的使用方法,体验到应用的乐趣,新手引导成了一个必须考虑的设计环节. 用户引导的直接目标是帮助用户更好的使用产品,终极目标是提升用户满意度.虽然,大多数情况下,我们可以通过合理的设计,尽可能的简化功能,让用户 无需引导和帮助,就可以完成必要的任务.但是实际上,手机产品的限制和对强大功能的追求,导

Android实现用户引导界面

在众多应用中,几乎每一款应用都有自己的Splash用户引导界面,该界面在用户首次启动展示,之后不会显示,主要向用户展示新功能. 分析 主要使用ViewPager+Indicator实现 主要是实现一个圆形指示器,这个圆形指示器继承LinearLayout,需要有一些属性可以自定义,比如指示器的颜色,大小,边距等 这个指示器也可以自动滚动,比如应用在幻灯片展示的地方 指示器是圆形的,需要我们自己绘制 这个圆形指示器实现了ViewPager.OnPageChangeListener接口 实现 定义自

进阶篇-用户界面:11.启动界面和引导页面

SplashScreen.java import java.io.File; import java.io.OutputStream; import com.baite.tools.AssetDatabaseManager; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.Intent; impor

自定义Angular插件 - 网站用户引导

最近由于项目进行了较大的改版,为了让用户能够适应这次新的改版,因此在系统中引入了“用户引导”功能,对于初次进入系统的用户一些简单的使用培训training.对于大多数网站来说,这是一个很常见的功能.所以在开发这个任务之前,博主尝试将其抽象化,独立于现有系统的业务逻辑,将其封装为一个通用的插件,使得代码更容易扩展和维护. 无图无真相,先上图: 关于这款trainning插件的使用很简单,它采用了类似Angular路由一样的配置,只需要简单的配置其每一步training信息. title:step的