iPhone - تتلاشى وتتلاشى من عرض UiimageView مع أوقات مختلفة

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

  •  21-09-2019
  •  | 
  •  

سؤال

أرغب في القيام بتلاشي من داخل وخارج UiimageView باستخدام أوقات مختلفة ، دعنا نقول ، باستخدام المعلمات التالية:

  • t = 0 ... alpha uiimageview = 0
  • t = 0.5s ... alpha uiimageview = 0.7
  • t = 0.7s ... alpha uiimageview = 0

هل هذا ممكن للقيام به مع caanimation أو غيرها من الطرق؟ كيف يمكن أن يتم ذلك؟

شكرا على اي مساعدة!

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

المحلول

ربما يجب أن تنظر إلى cakeyframeanimation. سوف يتيح لك تعيين القيم لنقاط زمنية متعددة.

نصائح أخرى

if (imgDefault.alpha == 0.0) {
    CGContextRef context = UIGraphicsGetCurrentContext();
        [UIView beginAnimations:nil context:context];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
        [UIView setAnimationDuration: 3.0];
        [UIView setAnimationDelegate: self];
        imgDefault.alpha = 1.0;
        [UIView commitAnimations];
}
else {
    CGContextRef context = UIGraphicsGetCurrentContext();
        [UIView beginAnimations:nil context:context];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
        [UIView setAnimationDuration: 3.0];
        [UIView setAnimationDelegate: self];
        imgDefault.alpha = 0.0;
        [UIView commitAnimations];
}

أتمنى أن يساعد ذلك

لدى Uiview مجموعة setAnimationDidStopSelector: الطريقة التي يمكنك استخدامها. ما عليك سوى إعداد تلاشيك في الرسوم المتحركة باستخدام كتلة بدء التشغيل وقم بتعيين محدد DIDSTOP على طريقة أخرى تحتوي فقط على كتلة الرسوم المتحركة الخالية فقط. يمكن أن تحتوي كل من كتل الرسوم المتحركة هذه على فترات رسوم متحركة مختلفة.

شيء من هذا القبيل:

    [UIView beginAnimations:next context:context];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(fadeOut:finished:context:)];
    myView.alpha = 0.7;
    [UIView commitAnimations];

-(void)fadeOut:(NSString*)animationID finished:(BOOL)finished context:(void*)context  {
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationDuration:0.2];
    myView.alpha = 0.0;
    [UIView commitAnimations];
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top