В настоящее время я использую эту основную анимацию; (iOS 5, ARC)CoreAnimation: перенос анимационных объектов в следующий UIViewController
- (void)onTimer
{
// build a view from our image
UIImageView* flakeView = [[UIImageView alloc] initWithImage:flakeImage];
// use the random() function to randomize up our flake attributes
int startX = round(random() % 320);
int endX = startX; //round(random() % 320);
double scale = 1/round(random() % 100) + 1.0;
double speed = 1/round(random() % 100) + 1.0;
// set the flake start position
flakeView.frame = CGRectMake(startX, -100.0, 25.0 * scale, 25.0 * scale);
flakeView.alpha = 0.8;
// put the flake in our main view
[self.view addSubview:flakeView];
[self.view sendSubviewToBack:flakeView];
[UIView beginAnimations:nil context:(__bridge void*)flakeView];
// set up how fast the flake will fall
[UIView setAnimationDuration:10 * speed];
// set the postion where flake will move to
flakeView.frame = CGRectMake(endX, 500.0, 25.0 * scale, 25.0 * scale);
// set a stop callback so we can cleanup the flake when it reaches the
// end of its animation
[UIView setAnimationDidStopSelector:@selector(onAnimationComplete:finished:context:)];
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
}
- (void)onAnimationComplete:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
UIImageView *flakeView = (__bridge UIImageView*)context;
[flakeView removeFromSuperview];
flakeView = nil;
}
пожар;
[NSTimer scheduledTimerWithTimeInterval:(0.3) target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
С помощью этого кода представлено 10 снежных хлопьев, падающих вниз.
С помощью этого кода и некоторых пользовательских режимов просмотра, я пытаюсь сделать действия навигации текучими. Проблема в том, что я не могу найти подходящий способ переноса этого (анимационного) контекста на следующий UIViewController
, чтобы все анимированные снежные хлопья продолжали идти туда, куда они ушли, а в следующем UIViewController
NSTimer
будут стрелять новыми.
Любая помощь и предложения будут назначены.
Непонятно, что вы пытаетесь передать. Вы хотите, чтобы фактическое изображение было передано следующему контроллеру? Возможно, было бы полезно описать, какой визуальный эффект вы ищете. Кстати, вы не должны использовать этот метод анимации. Вы должны использовать методы на основе блоков в iOS 4 или новее. – rdelmar