なんらかの理由でアニメーション化されていないアニメーションがあります。
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.hidden = YES;
self.nameLabel.text = [self.name uppercaseString];
self.gradient1.alpha = .9;
self.gradient1.image = [UIImage imageNamed:@"heart.png"];
self.gradient1.animationImages = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"gradiant1.png"],
[UIImage imageNamed:@"gradiant2.png"],
...
[UIImage imageNamed:@"gradiant26.png"], nil];
self.gradient1.animationDuration = .5;
self.gradient1.animationRepeatCount = 1;
[self updateStats:nil];
}
-(void)updateStats:(NSTimer*)timer{
Utilities *utility = [[Utilities alloc] init];
[utility getDataWithSSID:self.ssID completion:^(bool *finished, NSArray *objects) {
if (finished){
...
[self.gradient1 startAnimating];
}
self.twoSecTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self
selector:@selector(updateStats:)
userInfo:nil
repeats:NO];
}];
}
タイマーが何度もヒットし続けても、1回または2回アニメートしてから停止することがあります。また、まったくアニメーション化されない場合もあります。ただし、ストーリーボードに配置するプレースホルダーボタンがいくつかあり、それらは何にも関連付けられていません。ボタンの1つを押すと、次にタイマーがヒットしたときにアニメーション化されます(実際には、画面をヒットしなくても、画面をヒットするたびにアニメーション化されます)。あらゆる種類のジェスチャ認識機能があります。また、このViewControllerで実行したい他のすべてのガベージを追加すると、呼び出されるたびにアニメーション化されます。ですから、忘れてしまうよりも深いものだと思いますので、プロパティを設定してください。