2010-10-31 5 views
0

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

[window ExchangeSubviewAtIndex:0 withSubviewAtIndex:1]; 

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

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

ответ

2

Вы пробовали простую старую статью 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]; 
} 
} 

Сообщите мне, если это работает, удачи.

+0

Спасибо за ответ! У меня есть что-то похожее на работу: установите viewController.view.hidden = YES ... затем нарисуйте черный поверх поверхности opengl ... затем исчезните на поверхности opengl. Поэтому я предполагаю, что я сделал анимацию вручную, вместо использования анимации UIView. – MrDatabase

+0

С удовольствием помогаем, но вы получили эффект постепенного исчезновения на экране UIViewController? – tsakoyan

Смежные вопросы