मैं एक छवि को स्केल करने की कोशिश कर रहा हूं, छवि को बदल सकता हूं, फिर इसे वापस स्केल कर सकता हूं।मैं आईफोन UIImageView के साथ चेन स्केल एनिमेशन कैसे करूं?
CABasicAnimation* shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0];
shrink.duration = 1;
shrink.delegate = self;
[myImageView.layer addAnimation:shrink forKey:@"shrink"];
छोटा बना देता है, तो इसके पूर्ण होने पर, मैं छवि बदलने के लिए, और बढ़ने शुरू:
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
{
myImageView.image = [images objectAtIndex:image];
CABasicAnimation* grow = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
grow.toValue = CGAffineTransformMakeScale(1,1);
grow.delegate = self;
grow.duration = 1;
[myImageView.layer addAnimation:grow forKey:@"grow"];
}
इस सिम्युलेटर पर अच्छा काम करता है, लेकिन डिवाइस पर, जब छोटा पूरा करता है, मुझे पूर्ण आकार, पुरानी छवि का एक फ्लैश मिलता है, फिर बढ़ती एनीमेशन नई छवि के साथ शुरू होता है।
कोई विचार कि फ्लैश से कैसे छुटकारा पाना है?
(मैं कोशिश की है "removedOnCompletion = नहीं," और प्रयास किया affineTransform पहले पूरा होने के बाद आकार को छोटा किया के बराबर निर्धारित करने, लेकिन बहुत किस्मत नहीं था।)
सराहना की किसी भी सुझाव।
केबी
संपादित करें:
बहुत बढ़िया! निम्नलिखित सेट करना:
shrink.fillMode = kCAFillModeForwards;
shrink.removedOnCompletion = NO;
चमकती हटा दी गई। धन्यवाद, बेन!
उत्कृष्ट! निम्नलिखित सेट करना: \t out.fillMode = kCAFillModeForwards; \t out.removedOnCompletion = नहीं; चमकती हटा दी गई। धन्यवाद, बेन! – KevinButler