मैं समझता हूं कि ऐप के भीतर उन्हें पैकेजिंग के बजाय प्रोग्रामिंग से मेरे ऐप के लिए छवियों को कैसे लोड किया जाए, लेकिन मैं 1x बनाम 2x समस्या को कैसे संभालूं? यदि आवश्यकता हो तो मैं बाहरी स्रोत से दोनों संस्करणों की सेवा कर सकता हूं लेकिन UIImage को सेट करते समय मैं इसे कैसे संभाल सकता हूं?यूआरएल से लोड करते समय रेटिना/सामान्य छवियों को कैसे संभाला जाना चाहिए?
7
A
उत्तर
7
मुझे पूरा यकीन है कि आप स्वचालित रूप से स्वचालित रूप से @ 2x छवि फ़ाइलों को लोड नहीं कर सकते हैं। तुम इतनी तरह रेटिना प्रदर्शन के लिए परीक्षण करने के लिए और उसके बाद उपयुक्त छवि (ओं) मिलता है, करना होगा:
UIImage *image;
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2){
// @2x
NSURL *imageURL = [NSURL URLWithString:@"http://www.example.com/images/[email protected]"];
NSData * imageData = [NSData dataWithContentsOfURL:imageURL];
image = [UIImage imageWithData:imageData];
} else {
// @1x
NSURL *imageURL = [NSURL URLWithString:@"http://www.example.com/images/yourImage.png"];
NSData * imageData = [NSData dataWithContentsOfURL:imageURL];
image = [UIImage imageWithData:imageData];
}
UIImageView *yourImageView = [[UIImageView alloc] initWithImage:image];
+4
क्या आपको 'myImageView' के' ContentScaleFactor' को '[[UIScreen mainScreen] पैमाने पर' सेट नहीं करना चाहिए, जैसे '[yourImageView setContentScaleFactor: [[UIScreen mainScreen] scale]]'? – Ali
क्या आप सिर्फ http://example.com/image.png संदर्भित लेकिन उस स्थान जगह में की कोशिश छवि और [email protected] फाइलें? – Luke