باستخدام معالج الانتهاء من الكتلة في iOS 4 للرسوم المتحركة

StackOverflow https://stackoverflow.com/questions/3872025

سؤال

أرغب في تحريك حركة الرؤية الفرعية عند تدوير الجهاز ، وتغيير ألفا إلى 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;
    }
}];

هل هناك طريقة للتغلب على هذا الوميض؟

شكرًا

هل كانت مفيدة؟

المحلول

ربما في الواقع تحريك ألفا عند الانتهاء؟ بدلا من فلاشه؟ قون

[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;} 
} 
}];

هتافات ، krzysztof zabłocki

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top