Я установил анимацию, как показано на рисунке ниже. В которой UIbutton перемещается слева направо, а затем сверху вниз. Анимация работает правильно, но после завершения анимации UIButton приходит в свое первоначальное место перед выполнением segue. так что это не выглядит хорошо. Я хочу установить, что после завершения анимации UIButton не может прийти в свое место перед segue.IOS остановить UIbutton, чтобы занять свое место после завершения анимации
Вот моя попытка с изображением.
//Move button Left to Right
- (IBAction)btnEasy:(id)sender {
Easy=YES;
NSLog(@"your x is: %f ", self.btnEasy.frame.origin.x);
NSLog(@"your y is: %f ", self.btnEasy.frame.origin.y);
x1=self.btnEasy.frame.origin.x;
y1=self.btnEasy.frame.origin.y;
CGRect screenRect = [[UIScreen mainScreen] bounds];
[UIView animateWithDuration:1.150 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
self.btnEasy.frame = CGRectMake(screenRect.size.width/1.80, self.btnEasy.frame.origin.y, self.btnEasy.frame.size.width, self.btnEasy.frame.size.height);
[self performSelector:@selector(btneasyanimation) withObject:self afterDelay:1.160 ];}
completion:^(BOOL finished) {
}];
//Move Button top to Bottom
if (Easy==YES) {
if (isiPad2 || isiPadAir || isiPadRatina) {
//[self.view layoutIfNeeded];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:1.0];
[_btnEasy setFrame:CGRectMake(self.view.frame.origin.x+290, self.view.frame.origin.y+900, self.btnEasy.frame.size.width, self.btnEasy.frame.size.height)];
[UIView commitAnimations];
}
else if (isiPhone4s) {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:1.0];
[_btnEasy setFrame:CGRectMake(self.view.frame.origin.x+92, self.view.frame.origin.y+428, self.btnEasy.frame.size.width, self.btnEasy.frame.size.height)];
[UIView commitAnimations];
}
}
[self performSelector:@selector(segueeMethod) withObject:self afterDelay:1.160 ];
Изображение: -
Вы размещаете кнопку с автозапуском? если это так, если вы перемещаете рамку, после завершения анимации кнопка переходит в предыдущее место. –
да. У меня есть две раскадровки для ipad и iphone. в iphone я использовал autoresize, и в ipad я использовал автозапуск. но в обоих раскадровках есть такая же проблема. –