isAnimating возврат неисправен для UIImageView для iPhone - PullRequest
1 голос
/ 30 июня 2010

Я обнаружил, что isAnimating возвращает true, даже после того, как он завершил максимальное количество циклов и прекратил анимацию. Однако, как только вы переместите UIImageView, он внезапно обновится и изменится на false.

Вот важные биты моего кода: Я настроил анимацию стандартным способом:

UIImageView* newImageView = ...
newImageView.animationImages = imageArray;
newImageView.animationDuration = 1.0;
newImageView.animationRepeatCount = 1;
...
[newImagView startAnimating];

В другом месте кода я проверяю, завершена ли анимация:

if (not [newImageView isAnimating])
{
...
}

Через несколько секунд после остановки анимации isAnimating все равно вернет true.

Однако, если newImageView каким-то образом был обновлен (в моем случае, перемещая его), он внезапно вернет false. Что кажется несвязанным, и указывает на то, что это ошибка.

Кто-нибудь сталкивался с этим или знает обходной путь?

Ответы [ 3 ]

0 голосов
/ 15 июня 2011

Я считаю, что isAnimating работает только при сборке с iOS до 4.x.Если я строю против 4.3, он не изменит значения, если не будет затронут любой вид или ориентация.С 3.x isAnimating надежно изменил значение на NO после завершения анимации.

0 голосов
/ 22 декабря 2011

Я столкнулся с подобной проблемой. С кодом, подобным вашему, я бы сделал следующее после анимации.

[newImageView isAnimating] => true    # On the device (iOS5)
[newImageView isAnimating] => false   # On the simulator - this was what I expected (iOS5)

Следующий обходной путь, похоже, сработал (хотя мне это кажется ошибкой iOS)

UIImageView* newImageView = ...
newImageView.animationImages = imageArray;
newImageView.animationDuration = 1.0;
newImageView.animationRepeatCount = 1;
...
newImageView startAnimating];
// Set a delayed call to stopAnimating
[newImageView performSelector:@selector(stopAnimating) withObject:nil afterDelay:1.01];
0 голосов
/ 19 сентября 2010

Я протестировал его компиляцию с iphone 4.1 SDK и запустил его на устройстве 3.1.x.

isAnimating на устройстве работает, но не с любым iphone simualtor 3.2,4.0,4,1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...