2014-12-03 3 views
2

Я просто попробовал настроить пользовательский переход между контроллерами. Он в основном вращает следующий, и он работает. За исключением того, что контроллер представления источника слегка кратковременно возвращается к видимости, как только анимация завершается, так же, как контроллер точки назначения достигает своей конечной позиции.Видя мерцание среднего перехода?

Я также получаю предупреждение о Unbalanced calls to begin/end appearance transitions, который я все еще работаю над исправлением. Я не знаю, связаны ли они.

Кто-нибудь видит что-нибудь здесь, что выпрыгивает как не совсем правильно, что может вызвать мерцание?

Затем я просто назначил кнопку, чтобы выполнить пользовательский segue через редактор раскадровки.

-(void)perform 
{ 
    UIViewController *source = self.sourceViewController; 
    UIViewController *destination = self.destinationViewController; 

    [source.view addSubview:destination.view]; 
    destination.view.transform = CGAffineTransformMakeRotation(M_PI/2); 

    [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationCurveEaseInOut animations:^{ 
     destination.view.transform = CGAffineTransformMakeRotation(0); 
    }completion:^(BOOL finished){ 
     [destination.view removeFromSuperview]; 
     [source presentViewController:destination animated:NO completion:NULL]; 
    }]; 
} 
+1

removeFromSuperview - это ваша проблема. Вытащите его и посмотрите, что произойдет. – Siriss

+1

Ничего себе .... хорошая работа, ты понял. Так просто. Имеет смысл также, я должен был попытаться удалить это. Интересно, почему учебник, который я использовал, предположил, что ... это был язык, на котором я не говорил, поэтому я не могу быть уверен. :) Спасибо – Aerovistae

ответ

2

Выньте removeFromSuperview.

+0

20 часов до этого он может быть награжден – Aerovistae

+0

Рад, что это помогло! – Siriss

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