Как создать управляемый эффект переворота (перевернуть (и быстро) при перетаскивании) UIView - PullRequest
0 голосов
/ 17 апреля 2010

У меня есть карта (флэш-карта, которую вы могли бы сказать)

Что я могу сделать:

При пальцах по карте памяти карта поворачивается. Это происходит путем обнаружения трогает Начал и трогает Перемещается и потом делаю что-то вроде

[UIView beginAnimations:@"View Flip" context:nil]; 
[UIView setAnimationDuration:0.5]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
if (left) {
    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:self.flashCardView cache:YES];
}else{
    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.flashCardView cache:YES];
}

Что я не могу сделать (но хочу):

Я хочу как-то перетащить флип. Представьте себе, у вас есть карта памяти, и вы думаете, что знаете ответ, вы начинаете переворачивать карту, потому что вы хотите увидеть, если вы правы, но тогда ... без остановки ... вы колеблетесь, поверните карту обратно к так, подумай, получи реальный ответ и, наконец, перевернись, чтобы увидеть, что ты был прав, колеблясь.

Теперь у меня есть только: когда вы начинаете переворачивать, вы не можете остановить это.

Так у вас есть какие-нибудь советы, как это сделать? что почитать? Я все еще в начале разбираюсь в разработке какао и iPhone

РЕДАКТИРОВАТЬ Сейчас я более опытный, но я до сих пор не делал таких пользовательских анимаций, может быть, кто-то может поднять меня?

1 Ответ

2 голосов
/ 11 июня 2010

Невозможно добиться того, что вы пытаетесь сделать с предустановленной анимацией UIView, потому что анимация однократная и не может быть перехвачена. Вы можете использовать OpenGL для истинных трехмерных преобразований (что вам нужно, это вращение вокруг оси) или для более быстрой реализации, попробуйте преобразования CALayer, как показано на рисунке.

Здесь - пример интерактивного переворачивания 3D-страницы, реализованного в OpenGL. Он использует частные API, но может помочь вам понять, как реагировать на ввод пользователя и применять преобразования соответствующим образом.

...