Почему моя анимация CAKeyframe не выполняется? - PullRequest
0 голосов
/ 06 января 2010

Это мой код, в котором я пытаюсь изменить размер моего imageView. Если вы можете указать на любую ошибку, я буду очень благодарен ..

    UIImageView *imageViewForAnimation = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ravan.jpg"]];
    imageViewForAnimation.alpha = 1.0f;
    CGSize size1=CGSizeMake(60,60);
    CGSize size2=CGSizeMake(40,40);
    CGSize size3=CGSizeMake(20,20);
    CAKeyframeAnimation *customFrameAnimation = [CAKeyframeAnimation animationWithKeyPath:@"frame"];
    NSArray *sizeValues = [NSArray arrayWithObjects:[NSValue valueWithCGSize:size1], [NSValue valueWithCGSize:size2], [NSValue valueWithCGSize:size3], nil];
    [customFrameAnimation setValues:sizeValues];
    customFrameAnimation.duration=10.0;
    NSArray *times = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0f], [NSNumber numberWithFloat:0.5f], [NSNumber numberWithFloat:1.0f], nil]; 
    [customFrameAnimation setKeyTimes:times];
    customFrameAnimation.fillMode = kCAFillModeForwards;
    customFrameAnimation.removedOnCompletion = NO;
    [imageViewForAnimation.layer addAnimation:customFrameAnimation forKey:@"customFrameAnimation"]; 
    [self.view addSubview:imageViewForAnimation]; 

1 Ответ

3 голосов
/ 06 января 2010

Вы создаете UIImageView, присоединяете к нему анимацию, а затем пропускаете ее. Вы никогда не прикрепляете его к видимому виду. Вы никогда не должны даже видеть это изображение на экране, не говоря уже о его анимации.

Если вы хотите анимировать существующее представление, вам нужно прикрепить к нему анимацию, а не создавать новое представление.

...