Я использую новые блочно-ориентированные методы анимации UIView для создания слайд-шоу со скользящим и исчезающим эффектом, вдохновленного тем, которое отображается на домашнем экране приложения Flickr. Все работает очень хорошо, и я больше не боюсь блоков.
Я использую это на странице моего приложения, которая находится внутри элемента управления UINavigationController. Все хорошо, и, насколько я могу судить, он работает правильно.
Дело в том, что я оставил там одну строку вывода NSLog, и когда мое представление, в котором размещено мое слайд-шоу, не является контроллером вида сверху в стеке, эта присоска выдает только тонны строк вывода NSLog. Эта штука запускается один раз каждые 8,5 секунд (когда загружается новый слайд) при нормальных обстоятельствах, но когда она не видна, это примерно 16 или около того в секунду. Он снова становится нормальным, когда его viewcontroller возвращается на поверхность, как будто ничего не произошло. Если бы я не разговаривал сам с собой на консоли, я бы никогда не узнал, что это происходит.
Моя анимация в большом цикле. Я действительно не против, если они отрываются подо мной, а я не обращаю на это внимания. Ты думаешь это проблема? Я обеспокоен тем, что он потребляет ненужные циклы, но это, похоже, не оказывает реального влияния даже на мое тестирование 3G. Мысли? Есть ли какой-нибудь универсальный способ приостановить пользовательскую анимацию UIView?