目前,我正在做这种类型的观点,这是什么最好的方式,所以我可以管理不同规模的图像
我们有这个尺码,
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"
我的问题是来自服务器的图像我想在Apple的所有类型的设备中处理此图像,我在单元格中使用纵横比,当我使用640 * 106尺寸然后在我-phone 6plus此图像显示的尺寸不正确
这是我的代码
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 :(得分:2)
真的不是那么难,因为你所做的是固定视图的宽度/高度,你需要做的是根据屏幕比例计算并给它正确的高度,因为宽度是根据屏幕宽度固定的例如,如果屏幕是iphone 6plus,其点为delete
,图像为736x414
,则执行计算640x106
(屏幕宽度*图像高度/图像宽度,随之改变变量)= 125,这就是你应该使用的imageView高度,而不是106直接
您可以先将图像设置为图像视图,然后将其配置框也可以,这样就可以获得图像高度/宽度