[ios]当 setrepeatcount 不是 0,我的动画不显示

标签: ios Objective-C
发布时间: 2017/3/21 23:42:01
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

https://www.youtube.com/watch?v=EjjPkmcwdQc

你好。

我完全遵循上面的教程。然而,当我更改 setrepeatcount 不为 0 的数,没有显示动画。它是只是空白。谁能告诉我这是为什么?这样,即使我有值在 5000。我不认为动画玩得太快,因为当它为 0,每一帧出现在合理的时间 (.5s)。

这里是代码的 viewcontroller 文件中示例。它是 onl

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    AnimPanel.animationImages = [NSArray arrayWithObjects:
          [UIImage imageNamed:@"Anim1.png"],
          [UIImage imageNamed:@"Anim2.png"],
                                 [UIImage imageNamed:@"Anim3.png"],nil];

    AnimPanel.animationDuration = 2.5;
   // [AnimPanel setAnimationRepeatCount:5000];
        [AnimPanel startAnimating];
        // Do any additional setup after loading the view, typically from a nib.
    }

解决方法 1:

setAnimationRepeatCount 无关与快或慢的动画,这只会重复你的动画来计算次数。 如果您将设置重复计数为 1 在下面代码片段,你将不能够看到的任何动画,但是你会看到当你设置任何值 > 1。

- (void)viewDidLoad
{

    AnimPanel.animationImages = [NSArray arrayWithObjects:
          [UIImage imageNamed:@"Anim1.png"],
          [UIImage imageNamed:@"Anim2.png"],
                             [UIImage imageNamed:@"Anim3.png"],nil];

    AnimPanel.animationDuration = 2.5;
   // [AnimPanel setAnimationRepeatCount:5000];
    [AnimPanel startAnimating];
    // Do any additional setup after loading the view, typically from a nib.

    [super viewDidLoad];
}

原因:-为什么它不会显示计数 1 为视图未能加载调用前视图展示给你,所以如果你想要只是一个一次性的动画,你可以移动此动画代码从 viewDidLoadviewDidAppear 的方法,那么你将能够看到动画,即使设定为 1。

-(void)viewDidAppear:(BOOL)animated{
     [super viewDidAppear:animated];

   // write your code here.
 }
赞助商