Я загружаю ViewControllerA внутри ViewController B. Это небольшой анимированный персонаж внутри более крупной сцены.Анимированный ViewController работает в iOS 5, но не iOS 4
Внутри ViewControllerA, есть вращение анимации, как:
CAKeyframeAnimation *bobble = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation"];
NSArray *times = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:0.25],
[NSNumber numberWithFloat:0.5],
[NSNumber numberWithFloat:0.75],
[NSNumber numberWithFloat:1.0],
nil];
[bobble setKeyTimes:times];
NSArray *values = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:degreesToRadian(0)],
[NSNumber numberWithFloat:degreesToRadian(5)],
[NSNumber numberWithFloat:degreesToRadian(0)],
[NSNumber numberWithFloat:degreesToRadian(-5)],
[NSNumber numberWithFloat:degreesToRadian(0)],
nil];
[bobble setValues:values];
bobble.repeatCount = HUGE_VALF;
bobble.autoreverses = YES;
bobble.duration = 5.0;
bobble.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
[self.view.layer addAnimation:bobble forKey:@"transform.rotation"];
Это собственный viewDidLoad и viewDidAppear выглядеть следующим образом:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.view.center = CGPointMake(640, 201);
[self.view setAnchorPointAndReposition:CGPointMake(.7, .7)];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self bobble];
[NSTimer scheduledTimerWithTimeInterval:3. target:self selector:@selector(blinkFromTimer:) userInfo:nil repeats:YES];
}
В iOS5 + он загружает и одушевляет просто отлично, в прошивкой 4.3, его загружает, но анимации не видно.
Любое понимание?
спасибо. На самом деле я бы никогда не создал такой тип структуры, но я унаследовал чужой проект и создал его таким образом. – Fluffhead