如何在移动应用程序中制作动画介绍教程/演练/屏幕?

时间:2014-05-09 03:33:00

标签: ios animation

首次访问移动应用或有更新时,会有几个屏幕突出显示应用中的功能(一个新的/教程模式)。我在屏幕上看到了一些这些图像的动画效果。我最近看到的一个很好的例子是MS Office的iPad应用程序套件。他们使用的图像看起来像是在绘制。要清楚,首次启动应用程序时,我不是指动画加载屏幕。这通常是一种模式,当您选择"开始时#34;或者"了解更多"按钮类型。

我试过通过几个论坛和一般搜索,但我还没有找到任何最佳做法(甚至是如何获得信息)。这些动画是一个视频,一个动画图像(gif?),一系列以某种方式揭示图像的移动窗格?我认为这样做的最佳方法还是认识到文件大小,以免显着增加应用程序大小。

此外,这些介绍屏幕是否有共同的术语/名称?我已经看到一些网站使用"演练"但这也偶尔会引用产品视频教程。

任何建议或信息表示赞赏!谢谢!

2 个答案:

答案 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];