UIView

2011-01-24 32 views
5

में एक रंग से दूसरे रंग में पृष्ठभूमि-रंग फीका करें UView में मैं एक पृष्ठभूमि रंग से दूसरे रंग में कैसे फीका सकता हूं?UIView

जावास्क्रिप्ट में (jQuery) यह कर करके किया जा सकता है:
$('body').animate({ backgroundColor: "#ff00ff"});

यह अगर मैं एचएसवी के लिए रंग परिवर्तित आसान होगा?

संपादित करें: इसे CABasicAnimation के साथ करने का प्रयास किया लेकिन यह अज्ञात कारणों से सफेद चमकती है। :/

CABasicAnimation* fade = [CABasicAnimation animationWithKeyPath:@"backgroundColor"]; 
fade.fillMode = kCAFillModeForwards; 
fade.removedOnCompletion = NO; 
// fade.fromValue = (id)[self.view backgroundColor].CGColor; 
fade.toValue = (id)[UIColor greenColor].CGColor; 
[self.view.layer addAnimation:fade forKey:@"fade"]; 

फिर मैंने इसे करने के लिए एक और तरीका खोजने की कोशिश की और "निहित एनीमेशन" पर ठोकर खाई। निम्नलिखित एक दूसरे के अच्छे फीका के साथ काम करता है:

[UIView beginAnimations:@"fade" context:nil]; 
[UIView setAnimationDuration:1]; 
[[self view] setBackgroundColor: [UIColor greenColor]]; 
[UIView commitAnimations]; 

धन्यवाद, स्टैक ओवरव्लो, हर किसी को और भी सीखने में मदद करने के लिए धन्यवाद। :)

+1

डुप्लिकेट: http://stackoverflow.com/questions/518192/how-do-you-explicitly-animate-a-calayers-backgroundcolor –

उत्तर

1

आपको दो UIView और फीड बनाने की आवश्यकता नहीं है - क्यों रंग विशेषता विशेषता स्वयं एनिमेटेबल होने पर एक अतिरिक्त अनावश्यक दृश्य लटकती है?

आप ऊपर दिखाए गए अनुसार CAAnimation का उपयोग कर सकते हैं, लेकिन दो विचारों की अस्पष्टता को समायोजित करने के बजाय बस पृष्ठभूमि को समायोजित करें।

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Animation_Types_Timing/Articles/PropertyAnimations.html

+0

मैं कहना है कि मैं एक UIView है कोशिश कर रहा था। मैं आपका लिंक देखूंगा। :) – johankj