2015-03-10 6 views
9

मैं WKInterfaceImage करने के लिए अपने UIImage सेट करना चाहते हैं, लेकिन सिम्युलेटर केवल काली स्क्रीन दिखाता है। यह setImageNamed: NSString* विधि का उपयोग कर ठीक काम करता है, लेकिन setImage: UIImage* के साथ नहीं। मेरा file1.png "(ऐप नाम) वॉचकिट ऐप" फ़ोल्डर में जोड़ा गया है।WatchKit: WKInterfaceImage स्थापना प्रोग्राम के रूप में

- (void)willActivate { 
    [self.imageView1 setImage: [UIImage imageNamed: @"file1"]]; // doesn't work 
    [self.imageView1 setImageNamed: @"file1"]; // works OK 
    [super willActivate]; 
} 

धन्यवाद!

उत्तर

1

आपके एक्सटेंशन से [UIImage imageNamed:imageName] पर कॉल करने से हमेशा कैश की गई छवि के लिए nil वापस आ जाएगा। छवि घड़ी पर कैश की गई है - आपके एक्सटेंशन में नहीं।

एक बार एक छवि कैश किया गया है, तो यह आपको [WKInterfaceImage setImageNamed:] विधि का उपयोग कर एक WKInterfaceImage स्थापित करने के लिए अनुमति देता है।

12

सब कुछ अपेक्षित ढंग से काम कर रहा है।

file1 आपके वॉचकिट ऐप फ़ोल्डर में है, जिसका अर्थ है कि यह पर पर है।

कॉलिंग [UIImage imageNamed:] मुख्य बंडल से लोड, जिसमें file1 नहीं है, इसलिए आपको nil मिलते हैं।

जिस तरह से आप यह कर रहे हैं सही है। setImageNamed: पहले घड़ी पर छवियों की तलाश करेगा, फिर कैश में।

+0

काश Xcode जब आप एक watchkit विस्तार में ऐसा करने की कोशिश आप एक चेतावनी देना होगा। – psobko

संबंधित मुद्दे