首次访问移动应用或有更新时,会有几个屏幕突出显示应用中的功能(一个新的/教程模式)。我在屏幕上看到了一些这些图像的动画效果。我最近看到的一个很好的例子是MS Office的iPad应用程序套件。他们使用的图像看起来像是在绘制。要清楚,首次启动应用程序时,我不是指动画加载屏幕。这通常是一种模式,当您选择"开始时#34;或者"了解更多"按钮类型。
我试过通过几个论坛和一般搜索,但我还没有找到任何最佳做法(甚至是如何获得信息)。这些动画是一个视频,一个动画图像(gif?),一系列以某种方式揭示图像的移动窗格?我认为这样做的最佳方法还是认识到文件大小,以免显着增加应用程序大小。
此外,这些介绍屏幕是否有共同的术语/名称?我已经看到一些网站使用"演练"但这也偶尔会引用产品视频教程。
任何建议或信息表示赞赏!谢谢!
答案 0 :(得分:1)
您可以制作视频或全屏图片。你也可以做一些事情,比如为你的演练的每一步创建一个UIView,然后放在一个scrollview的内部,让用户像照片应用程序一样翻阅它们。你也可以做类似PageViewController的事情。或者你可以得到真正的幻想,并拥有动画代码和所有类似的视图控制器。
至于如何决定何时展示演练NSUserdefaults是一个很棒的工具。
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasShowWalkthroughForVersion1"]) {
//save that we've show the walkthrough in user defaults
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasShownWalkthroughForVersion1"];
[[NSUserDefaults standardUserDefaults] synchronize];
//show walkthrough
....
}
答案 1 :(得分:1)
对于iOS,您可以使用本地存储来检测用户是否第一次运行应用程序,例如,这段代码在用户第一次运行应用程序时播放电影
NSString *bundleVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
NSString *appFirstStartOfVersionKey = [NSString stringWithFormat:@"first_start_%@", bundleVersion];
NSNumber *alreadyStartedOnVersion = [[NSUserDefaults standardUserDefaults] objectForKey:appFirstStartOfVersionKey];
if(!alreadyStartedOnVersion || [alreadyStartedOnVersion boolValue] == NO) {
// first start of the current version
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"playMovie"];
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:appFirstStartOfVersionKey];
[[NSUserDefaults standardUserDefaults] synchronize];
[self performSelector:@selector(showVideoThenLaunch) withObject:nil afterDelay:0.0];
}else{
UIView *statusBg = [[UIView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,20.0)];
statusBg.backgroundColor = [UIColor whiteColor];
[self.window addSubview:statusBg];
}
动画一系列图像 - 您可以为UIImageView设置一系列图像,在此示例中重复一系列图像
// animation on home screen
bearPaw = [[UIImageView alloc] initWithFrame:CGRectMake(40, 270, 254, 141.5)];
// load all the frames of our animation
bearPaw.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"swipe1"],
[UIImage imageNamed:@"swipe2"],
[UIImage imageNamed:@"swipe12"],
[UIImage imageNamed:@"swipe13"],
[UIImage imageNamed:@"swipe14"], nil];
// all frames will execute in 1.75 seconds
bearPaw.animationDuration = 1.0;
// repeat the annimation forever
bearPaw.animationRepeatCount = 3;
// start animating
[bearPaw startAnimating];
// add the animation view to the main window
[self.view addSubview:bearPaw];