2011-06-19 30 views
7

Uygulamam için görüntüleri uygulamada paketlemek yerine URL'den nasıl programlı olarak yüklediğimi anlıyorum, ancak 1x ile 2x sayısını nasıl çözebilirim? Gerekirse, harici kaynağından iki sürümü de sunabilirim, ancak UIImage'ı ayarlarken bunu nasıl ele alabilirim?URL'den yüklerken retina/normal görüntüler nasıl kullanılmalıdır?

+0

sadece http://example.com/image.png başvuran ancak bu konum yerinde deneyin mü image & [email protected] dosyaları? – Luke

cevap

7

Eminim ki, 2x görüntü dosyalarını uzaktan otomatik olarak yükleyemezsiniz. Çok gibi Retina ekran için test etmek ve ardından uygun resim (ler) almak zorunda kalacak:

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

Ayrıca 'ViewImageView'den' contentScaleFactor' '' [[UIScreen ana ekran] ölçeği] '' '' '' '' [ViewImageView setContentScaleFactor: [[UIScreen mainScreen] scale]] '' ayarlamamalısınız mı? – Ali