2014-12-11 9 views
7

मैं वॉचकिट में एनीमेशन के साथ एक बटन बनाना चाहता हूं, लेकिन ऐसा लगता है कि मुझे WKInterfaceButton को संशोधित करने या स्टोरीबोर्ड में बटन को छवि में खींचने का कोई तरीका नहीं मिल रहा है। किसी भी मदद की सराहना की है।ऐप्पल वॉचकिट में एनिमेटेड बटन कैसे बनाएं?

उत्तर

20

कुछ शोध मैं समाधान के बाद, यह बहुत सरल है, लेकिन आसानी से नजरअंदाज कर दिया :)

सबसे पहले है, एक दृश्य स्टोरीबोर्ड में बनाया में एक बटन खींचें।

दूसरा, चयन करें बटन, contentText से Group पर अपनी संपत्ति content संशोधित करें। यदि आपको content संपत्ति नहीं मिल रही है, तो अपनी स्क्रीन के ऊपरी दाएं भाग पर स्थित Attributes Inspector बटन पर क्लिक करें, यह एक ब्रेकपॉइंट बटन या बार के साथ नीचे तीर जैसा दिखता है।

enter image description here

अब आप अपने बटन के अंदर बनाया समूह को नियंत्रित कर सकते हैं। आपको अपने नियंत्रक कोड के अंदर इस WKInterfaceGroup का संदर्भ जोड़ने की आवश्यकता है। यहां एक उदाहरण दिया गया है:

@interface AAPLButtonDetailController() 
@property (weak, nonatomic) IBOutlet WKInterfaceGroup *buttonGroup; 
@end 


@implementation AAPLButtonDetailController 

- (instancetype)init { 
    self = [super init]; 

    if (self) { 
     // Initialize variables here. 
     // Configure interface objects here. 
     [_buttonGroup setBackgroundImageNamed:@"Bus"]; 
     [_buttonGroup startAnimating]; 
    } 

    return self; 
} 

तो दृश्य एनीमेशन के बाद बटन एनीमेशन खेला जाएगा। केवल फ्रेम याद रखें एनीमेशन अब के लिए समर्थित है, एक एनीमेशन में सभी फ्रेम "Bus0.png" की तरह नाम दिया जाना चाहिए, "Bus1.png" ....

enter image description here

आशा इस मदद कर सकते हैं :)

+0

यह वास्तव में अच्छा है। मैं अच्छे प्रभाव के लिए अपने घड़ी एप में एनिमेटेड बटन सबटालेट का उपयोग कर रहा हूं। अगर आपको कोई परवाह नहीं है कि आपकी एनीमेशन असीम रूप से लूप हो जाती है तो आप एक समूह की पृष्ठभूमि के रूप में एनीमेशन भी सेट कर सकते हैं। बहुत सी छोटी चालें। मुझे यकीन है कि हम ऐप्पल वॉच 2 के नए प्रोसेसर के साथ कोर ग्राफिक्स के साथ बहुत कुछ करने में सक्षम होंगे। – tymac

1

रेक की पोस्ट ने मेरे लिए उदाहरणों में काम किया कि मुझे दोहराने की गणना या अवधि को नियंत्रित करने की आवश्यकता है। यदि आप बस बटन के लिए एनीमेशन शुरू करना या बंद करना चाहते हैं, तो मेरे लिए निम्नलिखित काम करता है, जहां दो बटन एक डब्ल्यूकेइंटरफेसबटन है और मेरे पास छवियों का एक सेट है [email protected], [email protected], आदि

- (void)startButtonAnimating 
{ 
    // This works, but can't control repeat counts or duration 
    [self.twoButton setBackgroundImageNamed:@"Bus"]; 
    // But you can stop after a delay by setting background image nil 
    [self performSelector:@selector(stopGroupButtonAnimating) withObject:nil afterDelay:1.5]; 
} 

- (void)stopButtonAnimating 
{ 
    [self.twoButton setBackgroundImage:nil]; 
} 
संबंधित मुद्दे