2016-08-12 45 views
2

目前,我正在做這種類型來看,什麼是最好的辦法,所以我可以在不同大小規模的管理圖像如何處理不同設備上的圖像尺寸

this one

我們有這樣的尺寸,

Device   Points Pixels  Scale Physical Pixels Physical PPI Size 
iPhone 6 Plus 736x414 2208x1242 3x  1920x1080   401   5.5" 
iPhone 6  667x375 1334x750 2x  1334x750   326   4.7" 
iPhone 5  568x320 1136x640 2x  1136x640   326   4.0" 
iPhone 4  480x320 960x640 2x  960x640   326   3.5" 
iPhone 3GS  480x320 480x320 1x  480x320   163   3.5" 

我的問題是圖像從服務器來我想處理所有類型的蘋果設備的這個形象,我使用方面適合於細胞,當我使用640 * 106大小,然後在我 - 電話6plu s此圖像無法顯示正確的尺寸

這裏是我的代碼

CGRect frameIphone = (flag) ? CGRectMake(0, 0, self.view.frame.size.width, 106):CGRectMake(0, 0, self.view.frame.size.width, 106); 

UIImageView *img = [[UIImageView alloc] initWithFrame:(iPad) ? CGRectMake(10,8,55,55) : frameIphone]; 
img.tag = indexPath.section; 
img.contentMode = UIViewContentModeScaleAspectFit; 
img.layer.masksToBounds = YES; 

[img sd_setImageWithURL:[NSURL URLWithString:[objClass getImageForBackground]] placeholderImage:nil]; // URL Images 
+0

意味着你的圖像中的服務器是一個規模和6plus錯誤出現在哪裏? – Tj3n

+0

@ Tj3n是的,我想要的是,如果圖像來自服務器我可以顯示它在所有設備,如果我使用640 * 106(iPhone6)尺寸,然後在iphone5和iphone6 +圖像不適合屏幕 –

+0

@MayankPatel你可以使用自動佈局,然後你不需要設置圖像幀。 –

回答

2

它並不難,真的,因爲你做的是固定視圖的寬度/高度,你需要做什麼是基於屏幕比例計算的,並給出正確的高度,因爲寬度是根據屏幕寬度固定的,例如,如果屏幕是iphone 6plus,其點數爲736x414,圖像爲640x106,那麼可以進行計算736*109/640(屏幕寬度*圖像高度/圖像寬度,隨變量變化)= 125,即您應該使用的imageView高度,而不是106直接

您可以先設置圖像圖像視圖,然後配置它的框架也行,這樣你就可以得到圖像高度/寬度

+0

爲什麼我需要計算身高?我有固定的高度,所以我硬編碼它 –

+0

圖像高度和imageView高度是不同的,這就是爲什麼你的圖像出現錯誤 – Tj3n

+0

感謝這段代碼的作品,我做了它屏幕寬度*圖像高度/圖像寬度後,它的工作,所以我是嗎?你的方式是否正確? –

相關問題