الرسوم المتحركة نهاية الاستدعاء لCALayer؟
-
03-07-2019 - |
سؤال
استخدام اي فون CALayer، أريد الرسوم المتحركة تناوب لطبقة روحي، ولكن أريد أيضا رد لنهاية الرسوم المتحركة، والساخنة للقيام بذلك؟
وأعتقد أنني ربما يجب أن تستخدم CABasicAnimation، لكني لا أعرف كيفية القيام دوران باستخدام CABasicAnimation، أي فكرة؟
والشكر
المحلول
إذا قمت بتعيين مندوب لCAAnimation، يمكنك إضافة أسلوب رد:
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
وهذا يحصل عندما دعت الحركة كاملة. ابحث عن أمثلة الدورية الرسوم المتحركة من خلال مصفوفة التحويل CGAffineTransform، كما في هذا الرابط:
http://iphonedevelopment.blogspot.com/2008/10/demystifying- cgaffinetransform.html
نصائح أخرى
وبوصفها جانبا، يمكنك أيضا القيام بنفس النوع من الاستدعاء للرسوم المتحركة UIView عن طريق لف دعوتكم لتدوير UIView في كتلة التعليمات البرمجية التالية
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(rotationAnimationHasFinished:finished:context:)];
// Rotate the view here
[UIView commitAnimations];
ومن ثم تحديد طريقة مندوب
- (void)rotationAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context;
{
// Handle the completion of the animation
}
وضمن مندوب من شأنها أن تفعل كل ما تحتاجه لبعد اكتمال الرسوم المتحركة.