नहीं चलाता है मेरे पास दो एनिमेशन हैं जिन्हें मैं आईएस 3.19 के साथ आईफोन पर यूआईएलएबल पर प्रदर्शन करने की कोशिश कर रहा हूं। पहले UILabel आगे पीछे रॉक्स:CAAnimationGroup के साथ दो कोर एनीमेशन समूहित करने से एक CABasicAnimation
CAKeyframeAnimation *rock;
rock = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"];
[rock setBeginTime:0.0f];
[rock setDuration:5.0];
[rock setRepeatCount:10000];
NSMutableArray *values = [NSMutableArray array];
MovingMath *math = [[MovingMath alloc] init];
// Center start position
[values addObject:[math DegreesToNumber:0]];
// Turn right
[values addObject:[math DegreesToNumber:-10]];
// Turn left
[values addObject:[math DegreesToNumber:10]];
// Re-center
[values addObject:[math DegreesToNumber:0]];
// Set the values for the animation
[rock setValues:values];
[math release];
दूसरा ज़ूम UILabel इतना है कि यह बड़ा हो जाता है:
NSValue *value = nil;
CABasicAnimation *animation = nil;
CATransform3D transform;
animation = [CABasicAnimation animationWithKeyPath:@"transform"];
transform = CATransform3DMakeScale(3.5f, 3.5f, 1.0f);
value = [NSValue valueWithCATransform3D:transform];
[animation setToValue:value];
transform = CATransform3DMakeScale(1.0f, 1.0f, 1.0f);
value = [NSValue valueWithCATransform3D:transform];
[animation setFromValue:value];
[animation setAutoreverses:YES];
[animation setDuration:30.0f];
[animation setRepeatCount:10000];
[animation setBeginTime:0.0f];
जोड़ा जा रहा है या तो सीधे UILabel की परत करने के लिए इन एनिमेशन में से एक की उम्मीद काम करता है के रूप में।
हालांकि, अगर मैं एनिमेशन एक साथ समूह की कोशिश करते हैं, पहले "कमाल" एनीमेशन काम नहीं करेगी:
CAAnimationGroup *theGroup = [CAAnimationGroup animation];
theGroup.duration = 5.0;
theGroup.repeatCount = 10000;
theGroup.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
theGroup.animations = [NSArray arrayWithObjects:[self rockAnimation], [self zoomAnimation], nil]; // you can add more
// Add the animation group to the layer
[[self layer] addAnimation:theGroup forKey:@"zoomAndRotate"];
समूह के लिए एनिमेशन जोड़ने का आदेश कोई फर्क नहीं पड़ता। ज़ूम करने के बजाय, ऊपर की तरह, मैंने सीमाओं को बदलने की कोशिश की, लेकिन यह भी असफल रहा। किसी भी जानकारी की काफी सराहना की जाएगी। धन्यवाद।
नीचे मेरी टिप्पणी नोट करने के लिए ... मैं चाहता हूं कि ये एनिमेशन एक ही समय में हों। समस्या यह है कि समूह का उपयोग करते समय, rockAnimation नहीं चलता है; केवल ज़ूमएनीमेशन चलता है। – Christian