我正在使用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];
}
截图如下所示,
请帮忙 .
1 回答
你是否担心按钮的小巧性,或者它们上面的灰度图像的小小问题?如果您担心按钮的大小,那么更改按钮的框架会使它们更大 .
如果您担心按钮图像,请注意"Retina Display"不会改变肉眼所感知的图像大小,只有在适当的图像可用时才会提高图像的分辨率 . 因此,图标图像的"size"在视网膜和非视网膜显示器上都是相同的 . 也就是说,如果您在iPad 1和iPad 3上打开相同的应用程序,一切都将是相同的大小,但由于分辨率提高,iPad 3屏幕上的图像将显得更加平滑 .
(这是因为当您设置
UIButton
的大小时,您将其设置为points
,而不是pixels
.Points
被设计为与分辨率无关 - 请参阅Points Versus Pixels section here . )当然,使用iPad Mini,无论如何一切都会显得略微减小 - 但仍然是成比例的 .
因此,如果按钮上的图标看起来太小,则需要使用较大的叠加图像 . 如果这样做,所有显示器,视网膜和非视网膜上的图标看起来都会更大 .
对于看起来“完美”的圆形按钮,我没有看到按钮上的光泽有任何问题,如上图所示,但我会说它们上面的图标太小了(很难看到灰色的按钮) -蓝色) . 因此,我会使用更大的图标图像 . - 但那是我个人的意见 .
Reponse to comment:
@ 2x图像仅用于视网膜屏幕(iPad 3,iPhone 4) . 你不应该直接加载@ 2x图像,设备会处理这个问题 . 如果图标仅在iPad上显得很小,请尝试复制图像(正常和@ 2x),并在Photoshop /预览/等中手动缩放(例如1.5倍) . 然后,修改您的代码,以便iPhone正常加载图像,但iPad加载这些稍大的图像 . 所以您的应用程序包可能包括:
buttonImage_Tag_iPhone.png
---说64x64buttonImage_Tag_iPhone@2x.png
---因此,128x128larger_button_image_tag_iPad.png
---说96x96larger_button_image_tag_iPad@2x.png
---因此,192x192然后,您可以使用以下代码加载适当的图像:
当然,您可以根据自己的喜好命名图像,我只是为了示例而将它们区分开来 .