Анимированный переход между UIViewController и EAGLView - PullRequest
0 голосов
/ 31 октября 2010

В моем приложении для iPhone есть два основных «вида»: UIViewController с некоторыми кнопками, текстом и т. Д. И окно, в котором происходят все элементы OpenGL ES. Когда я перехожу из UIViewController в окно (когда пользователь нажимает «play», например), я просто делаю:

[window ExchangeSubviewAtIndex:0 withSubviewAtIndex:1];

Возможно, это не идеальный способ сделать это? Я не хочу освобождать ресурсы, используемые UIViewController ... Я просто хочу, чтобы окно было впереди. Как я могу анимировать переход от UIViewController к окну ?

Я действительно ищу очень простую анимацию перехода от черного к черному.

1 Ответ

2 голосов
/ 31 октября 2010

Вы пробовали простую старую оговорку UIViewAnimation?Возможно, поиграйте со свойствами вида скрытого или альфа-канала, и если вы хотите, чтобы это изображение стало черным, вам нужно [Window setBackgroundColor: [UIColor blackColor]];первый.Убедитесь, что анимации происходят в основном потоке.Пример кода следующий: view1 является первым подпредставлением окна, а view2 - другим подпредставлением окна.

- (void)switchToView1 {
[UIView beginAnimations:@"fadeOut1" context:NULL];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
view1.hidden = YES;
[UIView commitAnimations];  
}

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void    *)context {
if ([@"fadeOut1" isEqualToString:animationID] && [finished intValue] == 1) {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.5];
    view2.hidden = NO;
    [UIView commitAnimations];
}
}

Скажите, работает ли это, удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...