5

我对 iPad 视网膜图像有一个问题。当我在普通 ipad 中执行我的添加时,它看起来很棒。

但是当我在 iPad Retina 中执行这个应用程序时,UIButton自定义图像会向上拉伸。

我还为视网膜模式的“@2x”图标图像添加了图像。

使用此代码:

UIButton *btnEye=[[UIButton alloc] initWithFrame:CGRectMake(10, 5.5, 35, 35)];
[btnEye setImage:eyeImage forState:UIControlStateNormal];
[reportToolbar addSubview:btnEye];

在正常模式下:

在此处输入图像描述

在 Reitna 模式下:

在此处输入图像描述

4

3 回答 3

1

视网膜图像的分辨率真的是正常的两倍还是与正常的分辨率相同?

于 2012-12-01T09:16:25.830 回答
0

简单地说,你应该用正常的图像替换“@2x”图像,看起来图像的大小是相反的。

于 2013-03-05T12:25:44.387 回答
-2

此代码不会赢得选美比赛,但您可以尝试一下!

向您的班级添加一个函数以识别您是否有视网膜设备

- (BOOL)isRetina {
   return [self respondsToSelector:@selector(displayLinkWithTarget:selector:)] && (self.scale == 2.0);
}

当您设置 eyeImage 时,请执行此操作

UIImageView *eyeImage = nil;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad && [self isRetina]) {
    eyeImage = [UIImageView imageNamed:@"eye@2x.png"];
} else {
    eyeImage = [UIImageView imageNamed:@"eye.png"];
}

这样你就可以强制你的设备使用视网膜图像,如果它有一个:-)。

于 2013-01-13T15:26:24.963 回答