Назад к предыдущему представлению в UINavigationViewController не анимируется при нажатии на кнопку назад - PullRequest
2 голосов
/ 11 декабря 2011

UITabBarController является корневым приложением в мае. Корнем каждой вкладки является отдельный UINavigationViewController, на котором я помещаю UITableViewController.

Проблема в том, что когда я нажимаю кнопку "Назад", панель навигации анимируется, но предыдущий вид таблицы появляется мгновенно без анимации. Ни UITableViewController, ни UINavigationViewController не подклассифицированы, и у меня нет никакого специального кода для функциональности pop.

Некоторое время назад, когда я работал над другим приложением для iOS, у меня не было такой проблемы. Разница лишь в том, что сейчас я работаю с XCode 4 и iOS 5 SDK.

Я потратил много времени, чтобы найти ответ, но ничего подобного не нашел.

Любая подсказка?

Ответы [ 3 ]

2 голосов
/ 19 февраля 2012

Я долго боролся с этим. В моем случае проблема закончилась тем, что я случайно переопределил viewDidAppear и не вызвал [super viewDidAppear: animated] в моем пользовательском классе UITabBarController.

Как только я избавился от этого, проблема наконец ушла.

0 голосов
/ 20 марта 2014

Не выполняйте никаких задач обновления пользовательского интерфейса в фоновом потоке или отправляйте фоновую очередь asyncq в ios 7, если вы выполняете какую-либо задачу, связанную с пользовательским интерфейсом, то выполняйте ее в основной очереди. Например.

        dispatch_async(dispatch_get_main_queue(), ^
                       {
                       //update ui
                       }

Это решит проблему с анимацией контроллера навигации.

0 голосов
/ 14 марта 2012

Я наконец нашел проблему: Я случайно установил мой корневой вид как подпредставление окна

[self.window addSubview:rootController.view];

вместо

self.window.rootViewController = rootController;

Как только я исправил проблему, проблема исчезла:)

...