Поэтому я пытаюсь переключаться между двумя изображениями, но продолжительность, похоже, игнорируется.Я понимаю, что Apple должна сделать анимацию очень быстро, чтобы сохранить магию, но есть ли способ замедлить переворачивание?
Моя нынешняя иерархия объектов состоит в том, что игровая доска содержит много карт, которые наследуются от UIView.Карта имеет лицевую и оборотную стороны, которые представляют собой UIViews, на которых размещен UIImage и другие данные
[UIView animateWithDuration:15.0
animations:^(void) {
cardOne.center =CGPointMake(100, 100);
cardTwo.center =CGPointMake(100, 100);
//low level calls, to directly perform the image swap
[cardOne.face removeFromSuperview];
[cardOne addSubview:cardOne.back];
[cardOne sendSubviewToBack:cardOne.face];
//calling the transitionFromView to do the image swap
[UIView transitionFromView:cardOne.face
toView:cardOne.back
duration:10
options:UIViewAnimationTransitionFlipFromLeft
completion:^(BOOL finished){ }];
Спасибо за ваш отзывЯ попытался смешать все, что вы вводите, и в итоге все заработало правильно.Я пока не знаю почему.Спасибо за ваши ответы.Я попытался вернуться к старому стилю, и это сработало.Я пока не понял, почему.
Неработающий код закомментирован, а рабочий код оставлен без комментариев.Еще раз спасибо
/*
[UIView animateWithDuration:animationDuration
animations:^{
[self.face removeFromSuperview];
[self addSubview:self.back];
[self sendSubviewToBack:self.face];
}];
*/
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kDefaultFlipSpeed];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self
cache:YES];
[self.face removeFromSuperview];
[self addSubview:self.back];
[self sendSubviewToBack: self.face];
[UIView commitAnimations];