Подтвердить что ты не робот

UINavigationController pushViewController приостанавливает/замораживает на полпути через

Я нажимаю контроллер вида с помощью:

[self.navigationController pushViewController:[[UIViewController alloc] init] animated:YES];

Но анимация лагает/останавливается на полсекунды в середине пути. Анимация не завершена. Здесь gif;

enter image description here

4b9b3361

Ответ 1

С более подробной информацией я могу думать о 2 возможных проблемах с этим.

  • Есть ли тень, добавленная в код, в представление, которое будет покрываться новым ViewController. Если это так, используйте ShadowPath или полупрозрачный вид (свойство Shadow дорого при анимации, было сделано)

  • Является ли backgroundColor нового ViewController "clearColor"? Я видел странную проблему с изображением такого рода вещей.

Try:

UIViewController *vc = [[UIViewController alloc] init];  
vc.view.backgroundColor = [UIColor whiteColor];  
[self.navigationController pushViewController:vc animated:YES];

Это две возможные проблемы, которые я могу придумать в верхней части головы с такими небольшими деталями.


Никогда не полагайтесь на цвет фона по умолчанию, он имеет изменения с версией iOS и не является согласованным с элементами управления и может даже отличаться, если представление создается в коде или из Xib (в той же версии iOS).

Ответ 2

Устанавливая цвет фона как предложенный VinceBurn, решил приостановить, он сделал всю анимацию белой, затухающей в фактическом содержимом только после окончания анимации.

Для меня проблема была решена путем проверки правильности размера контента в -viewDidLoad.