iphone - UIButton图像和视网膜显示

标签 iphone ios uibutton retina-display

我有一些带有自定义背景图片的按钮,我是这样做的:

UIImage *buttonImage2Normal = [UIImage imageNamed:@"greyButton.png"];

[showModal setBackgroundImage:buttonImage2Normal
                                        forState:UIControlStateNormal];

UIImage *buttonImage2Pressed = [UIImage imageNamed:@"greyButtonPressed.png"];

[showModal setBackgroundImage:buttonImage2Pressed
                                        forState:UIControlStateHighlighted];

我制作了四个图像,greyButton.png、greyButtonPressed.png 和支持视网膜的@2x 版本。

但是,在 Retina(iPhone 模拟器)上我看到我的按钮,但在 iPhone (3G) 上我认为它使用更大的图像,因为我的按钮几乎没有圆角。

这是执行此操作的正确方法吗?

最佳答案

只要您像这样命名您的 Retina 显示器图像,您就在正确地做这件事:filename.pngfilename@2x.png

您可能想通过制作红色的非 Retina 图像,然后制作蓝色的 Retina 图像来简单地进行测试。

在带有 Retina 刻度的 iPhone 模拟器上,您应该看到一个蓝色按钮,而在您的 3G iPhone 上,您应该看到一个红色按钮。

关于iphone - UIButton图像和视网膜显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520067/

相关文章:

ios - 如何让 segue 在按下按钮时等待函数完成?

ios - 滑动删除单元格不会取消 UIButton 操作

iphone - 以编程方式使用 ios-core 数据创建新表

ios - 从 Nib 加载可重用的 UITableViewCell

ios - 如何在 UIImage 上绘制时修复此内存泄漏?

ios - 如何在 UIViewController 中禁用拖动解除

ios - 嵌套违规。类型最多嵌套 1 层深

iphone - iOS : firing multiple segues from a prototype cell in storyboards

iphone - 如何以编程方式锁定 Iphone

cocoa-touch - iOS - 如何检测哪个按钮触发了 segue,以及如何根据按钮显示其内容