【发布时间】:2014-04-23 17:12:30
【问题描述】:
我正在推出我的应用程序的第 2 版,并且需要对新功能进行简短的演练。我浏览了一个教程并在另一个应用程序中创建了我的演练,其中一个 UIViewController 是根视图,一个 UIPageViewController 包含一个 UIView 我在其中显示我的屏幕。它按我的意愿工作。
现在我想将它集成到我的应用程序中。我可以轻松地从示例应用中导入我的代码。
我相信应用程序委托我会查看用户是否曾经通过演练,如果没有,切换到启动演练的 UIViewController,并写入用户已经看过演练的默认值(所以他们不需要再看一遍)。我在演练中有一个按钮可以转到主屏幕。
我的方法“applicationdidFinishLaunchingWithOptions”的部分代码如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor whiteColor];
UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard.storyboard" bundle:nil];
UIViewController *walkthrough = [storyBoard instantiateViewControllerWithIdentifier:@"NextViewController"];
//[self presentViewController:walkthrough animated:YES completion:nil];
[self.window setRootViewController:walkthrough];
return YES;
}
这是完整的有效代码。非常感谢您的帮助:
// User Defaults
UserDefaults *thisUserDefaults = [[UserDefaults alloc] init];
[thisUserDefaults registerDefaults];
if (![[[NSUserDefaults standardUserDefaults]
valueForKey:kAppHasRunBeforeKey] boolValue]) {
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor whiteColor];
UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
UIViewController *walkthrough =
[storyBoard instantiateViewControllerWithIdentifier:@"ViewController"];
[self.window setRootViewController:walkthrough];
[[NSUserDefaults standardUserDefaults] setBool:YES
forKey:kAppHasRunBeforeKey];
}
【问题讨论】:
-
我在 GitHub 上有一个代码可以做类似的工作。这是链接:github.com/karanthakakr04/Walkthrough-Demo.git 我希望它能满足您的需求。如果有人需要,还有这个参考教程:youtu.be/tNCsQe5vfRk
-
卡兰,非常感谢。这看起来很棒!
标签: ios uistoryboard uipageviewcontroller