因此,我需要区分屏幕尺寸(3.4或4英寸)设备,以便选择要显示的正确图像。
以下是我的所作所为: - 来自here
#define IS_PHONEPOD5() ([UIScreen mainScreen].bounds.size.height == 568.0f && [UIScreen mainScreen].scale == 2.f && UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
if(IS_PHONEPOD5()) {
self.tutorialImageView.image = [UIImage imageNamed:@"tutorialOverlay-568h@2x.png"];
} else {
self.tutorialImageView.image = [UIImage imageNamed:@"tutorialOverlay.png"];
}
无论屏幕尺寸如何,图像视图始终包含较大的图像并延伸到屏幕外(在3.5“上)
我做错了什么,我尝试了其他一些事情,并且总是做同样的事情。
编辑:即使我没有选择较大的图像,它仍然是运行时屏幕上的图像:
self.tutorialImageView.image = [UIImage imageNamed:@"tutorialOverlay.png"];
它仍然是较大的图像?
答案 0 :(得分:0)
不要在图片字符串中使用@ 2x。因为每个视网膜设备都会自动处理。
使用应该保存你的图像文本,如image@2x.png但我必须只使用没有@ 2x扩展。像[UIImage imageNamed:@"image.png"];
一样正确使用,这适用于3.5英寸。
如何使用4英寸屏幕使用延长-568h。例如:
image-568h@2x.png。像[UIImage imageNamed:@"image-568h.png"];
self.tutorialImageView.image = [UIImage imageNamed:@"tutorialOverlay-568h.png"];
更多细节
编辑:
self.navigationcontroller.navigationbar.translucent = NO;
答案 1 :(得分:0)
你检查过UIImageView的UIViewContentMode吗?通过设置UIViewContentModeScaleAspectFit并检查它是否有效来尝试它。