Использование обработчика блоков в iOS 4 для анимации - PullRequest
3 голосов
/ 06 октября 2010

Я хотел бы анимировать движение моих подпредставлений при повороте устройства, изменении альфа-канала на 0, перемещении вида в новое положение и сбросе альфа-канала на 1.

Использование этого кода в didRotateFromInterfaceOrientation приводит к тому, что изображение очень быстро мигает и исчезает, а затем снова появляется. Я хотел бы избежать такого поведения.

[UIView animateWithDuration:kAnimationDuration animations:^{
    anObject.alpha = 0.0;
    CGRect newFrame = anObject.frame;
    newFrame.origin.x = newX;
    newFrame.origin.y = newY;
    newFrame.size.width = newWidth;
    newFrame.size.height = newHeight;
    anObject.frame = newFrame;
} completion:^ (BOOL finished){
    if (finished) {
        anObject.alpha = 1.0;
    }
}];

Есть ли способ обойти это мигание?

Спасибо

1 Ответ

4 голосов
/ 06 октября 2010

Может быть, на самом деле оживить альфа на завершении?а не прошить это?:)

[UIView animateWithDuration:kAnimationDuration animations:^{
anObject.alpha = 0.0;
CGRect newFrame = anObject.frame;
newFrame.origin.x = newX;
newFrame.origin.y = newY;
newFrame.size.width = newWidth;
newFrame.size.height = newHeight;
anObject.frame = newFrame;
} completion:^ (BOOL finished){
if (finished) {
[UIView animateWithDuration:kAnimationDuration
                                 animations:^{
                                     anObject.alpha = 1;} 
} 
}];

Приветствия, Кшиштоф Заблоцкий

...