Я анимирую кучу кнопок, чтобы они двигались влево от экрана, а затем волшебным образом перемещались вправо от экрана. Я делаю это по телефону:
[NSTimer scheduledTimerWithTimeInterval:0.20 target:self selector:@selector(moveTheButtons) userInfo:nil repeats:YES];
в viewDidLoad.
Они оживляют довольно счастливо влево, но затем они оживляют назад вправо. Я просто хочу, чтобы они исчезли и снова появились за кадром. Поскольку я новичок, я предположил, что поскольку он был после вызова commitAnimations, он не будет анимирован. Я думаю, что проблема заключается в том, что анимации фактически «фиксируются» после возврата из функции moveTheButtons, но я не могу придумать элегантного (или стандартного) способа обойти это.
Как переместить UIButton с экрана, не анимируя его, желательно в функции moveTheButtons?
Как вы, вероятно, догадываетесь, я новичок в анимации на iPhone, поэтому, если вы видите какие-либо другие ошибки, я допускаю некоторые подсказки.
-(void)moveTheButtons{
NSLog(@"moveTheButtons");
[UIView beginAnimations:@"mov-ey" context:cloudA];
[UIView setAnimationDuration: .20];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
cloudA.center = CGPointMake(cloudA.center.x-pos.x,cloudA.center.y);
[UIView commitAnimations];
if(cloudA.center.x < -100){
//I don't want to animate this bit.
cloudA.center = CGPointMake(550,cloudA.center.y);
}
//NSLog(@"cloudA.center.x %f", cloudA.center.x);
}