我一直在与这个问题作斗争,我想在UIButton上显示一个png,但由于某种原因,图像最终在模拟器和物理设备上都非常模糊。我尝试使用所有不同大小的图像,全部为326 ppi(在xcode中验证),但没有一个看起来正确。我也尝试使用UIGraphics在我的应用程序中调整图像大小,但问题仍然存在。以下是设置按钮的代码:
//MIRROR BUTTON
_mirrorButton = [UIButton buttonWithType:UIButtonTypeCustom];
//_mirrorButton.frame = CGRectMake(buttonWidth, 0.0f, buttonWidth, buttonHeight);
_mirrorButton.frame = CGRectMake(64, 0, 64, 50);
UIImage *mirrorImage;
_mirrorButton.backgroundColor = [MessageView getUserColor];
mirrorImage = [UIImage imageNamed:@"mirror.png"];
[_mirrorButton setImage:mirrorImage forState:UIControlStateNormal];
[_mirrorButton addTarget:self action:@selector(mirrorPressed) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_mirrorButton];
UIButton和图像都应该具有50像素的高度。我的UIButton框架是完整的,图像甚至具有均匀的像素宽度和高度(有人说这有助于居中)。任何煽动都会非常感激。感谢。
答案 0 :(得分:1)
从我看来,我认为你可能会混淆50个像素和50个点。 一般情况下,帧是以点而非像素来衡量的,您可以看到差异HERE
所以基本上,如果你使用50点高的框架,在有视网膜屏幕的设备中,你需要一个100px高的图像,然后它不应该看起来模糊