2012-01-05 4 views
2

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

Я знаю, что это не так много информации, и могут быть тысячи проблем, которые могут вызвать это странное поведение. Но, может быть, вы можете указать мне на самые очевидные или дать мне подсказку, как решить мою проблему или просто сказать мне, что делать на следующем шаге.

UPDATE: @ Błażej указал, что основная (UI) нить может быть занята. Кажется, я теперь минимизировал это поведение, удалив все анимации в представлениях viewcontroller, которые я выскакивал, прежде чем появляться. Я сделал что-то вроде этого:

[self.mapView.layer removeAllAnimations]; 

Но если я продолжу о перемещении вперед и назад, как сумасшедшие, я до сих пор замечаю выскакиваю без анимации.

ответ

2

В вашем коде могут быть проблемы. Анимации в iOS работают в потоках реального времени, поэтому, когда устройство не может вычислить анимацию в запланированное время, она просто отказывается от нее, поэтому ваши взгляды могут появляться без анимации время от времени. Опять же, возможно, это ваше приложение, в котором основной поток (UI) занят, следовательно, нет анимаций.

+0

Большое спасибо Błażej! Есть ли способ определить, занят ли основной (UI) поток? Наверное, нет. Возможно, я установил небольшой тайм-аут для моей анимации. Каков наилучший подход для решения этой проблемы? – borisdiakur

+0

Существует, вы можете запустить приложение с помощью инструментов (product-> profile in xcode) и установить флажок «отдельно по потоку», основной будет помечен как «основной». В общем, вы не должны делать ничего, кроме UI манипуляции с основным потоком, очень быстро и легко перемещать работу в другие потоки с помощью GCD (и обратно в основной поток). –

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