我正在推出我的应用程序的第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];
}发布于 2014-04-23 17:41:37
显示提示的最佳和最简单的方法是使用以下库:https://github.com/chrismiles/CMPopTipView
否则,如果您想使用您提到的方法来完成这个操作,那么您将需要在NSUserDefaults中保留一个变量,比如bool walkthroughShownOnce。最初,如果您从NSUserDefaults访问应用程序委托中的变量,如下所示:
bool tempInt = [[NSUserDefaults standardUserDefaults] boolForKey:@"walkthroughShownOnce"];然后它将返回false。这是当您显示您的演练时,并在最后显示完演练之后,只需使变量变为真,如下所示:
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"walkthroughShownOnce"];发布于 2015-10-04 13:57:37
还有一个库,SwiftyWalkthrough。
https://stackoverflow.com/questions/23251014
复制相似问题