Вид не показывает второй раз при переключении видов? - PullRequest
0 голосов
/ 02 февраля 2012

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

Мой код находится ниже, но делаетКто-нибудь видит что-то не так?

-(void)changeView2ToView3 {
    [view2.view.superview addSubview:view3.view];
    [view3.view setFrame:CGRectMake(0, kHeight, kWidth, kHeight)];
    [UIView animateWithDuration:0.75 
                     animations:^{
                         [view3.view setFrame:CGRectMake(0, 0, kWidth, kHeight)];  
                     }
                     completion:^(BOOL finished){
                         [view2.view removeFromSuperview];
                     }];
}

kHeight и kWidth - это высота и ширина экрана, и они никогда не равны нулю или нулю.

Спасибо!

1 Ответ

0 голосов
/ 02 февраля 2012

После первого просмотра superview view2.view должно быть нулевым. Таким образом, вы должны установить переменную для сохранения суперпредставления.

[view2.view removeFromSuperview];
// now view2.view.superview == nil;
...