我正在使用Snow Leopard上的XCode 4.2开发一个通用应用程序,并希望显示嵌入了png文件的圆形按钮。圆形按钮来自cocoacontrols.com的UIGlossyButton类。 png文件既是视网膜也是非视网膜变种。我将UIButtons的高度和宽度设置为iPhone上的60,60和iPad上的120,120。我正在附加iPad模拟器(非视网膜版)的截图。我有点担心图标大小。它看起来很小。我希望该应用程序可以在iPad 2和Mini上运行,因为它们都是非视网膜显示器。这是在真正的iPad2设备上显示的正确方法吗?此外,圆形按钮在iPad上看起来是否完美?我还没有支付开发者许可证,而且我没有iPad。
以下是绘制圆角UIGlossy按钮的代码(引用圆角按钮类):
UIGlossyButton *b;
b = (UIGlossyButton*) [self.view viewWithTag: 78];
b.tintColor = [UIColor colorWithRed:0.2 green:0.3 blue:0.7 alpha:1.0];
[b useWhiteLabel: YES];
b.buttonBorderWidth = 2.0f;
b.buttonCornerRadius = 200.0f; //iPad. For iPhone, I'm using 40.0f
[b setGradientType: kUIGlossyButtonGradientTypeLinearSmoothExtreme];
[b setExtraShadingType:kUIGlossyButtonExtraShadingTypeRounded];
}
屏幕截图如下所示,
请帮忙。
答案 0 :(得分:2)
你是否担心按钮的小巧性,或者它们上面的灰度图像的小小问题? 如果您担心按钮的大小,那么更改按钮的框架会使它们更大。
如果你担心按钮图像,请注意“视网膜显示”不会改变肉眼所感知的图像尺寸,只有适当的{{{}才能提高图像的分辨率。 1}}图片可用。因此,图标图像的“尺寸”在视网膜和非视网膜显示器上都是相同的。 也就是说,如果您在iPad 1和iPad 3上打开相同的应用程序,一切都会大小相同,但由于分辨率提高,iPad 3屏幕上的图像会显得更加平滑。
(这是因为当您设置@2x
的大小时,请将其设置为UIButton
,而不是points
。pixels
设计为与分辨率无关的 - 请参阅Points Versus Pixels section here。)
当然,使用iPad Mini,无论如何一切都会显得略微减小 - 但仍然是成比例的。
因此,如果按钮上的图标看起来太小,则需要使用较大的叠加图像。如果这样做,所有显示器,视网膜和非视网膜上的图标看起来都会更大。
对于看起来“完美”的圆形按钮,我看不出上面显示的按钮上的光泽有什么问题,但我会说它们上面的图标太小了(很难看到)灰上 - 蓝)。因此,我会使用更大的图标图像。 - 但那是我个人的意见。
回复评论:
@ 2x图像仅用于视网膜屏幕(iPad 3 +,iPhone 4+)。你不应该直接加载@ 2x图像,设备会处理这个问题。如果图标仅在iPad上显得很小,请尝试复制图像(正常和@ 2x),并在Photoshop /预览/等中手动缩放(例如1.5倍)。然后,修改您的代码,以便iPhone正常加载图像,但iPad加载这些稍大的图像。因此,您的应用程序包可能包括:
Points
---说64x64 buttonImage_Tag_iPhone.png
---因此,128x128 buttonImage_Tag_iPhone@2x.png
---说96x96 larger_button_image_tag_iPad.png
---因此,192x192 然后您可以使用以下代码加载适当的图像:
larger_button_image_tag_iPad@2x.png
当然,您可以根据自己喜欢的方式命名图像,我只是将它们与示例区分开来。