UIButton 的像素大小要求

Posted

技术标签:

【中文标题】UIButton 的像素大小要求【英文标题】:pixel size requirement for UIButton 【发布时间】:2013-01-17 19:01:13 【问题描述】:

我正在为视网膜和非视网膜显示创建宽度为 30 的像素大小按钮图像。 这看起来不错的样子。我在 *** 中读到视网膜的像素要求至少为 40x40,这看起来太大了。像素大小为 30 会导致应用被拒绝吗?

UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
[btnBack setImage:backImage forState:UIControlStateNormal];
btnBack.frame = CGRectMake(0, 0, backImage.size.width, backImage.size.height);
[btnBack addTarget:self action:@selector(Click_On_Btn_Back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backBarItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];
self.navigationItem.leftBarButtonItem = backBarItem;

[btnFollow setImage:followImage forState:UIControlStateNormal];
btnFollow.frame=CGRectMake(followBtnXOffset,currentHeight+followBtnYOffset,followImage.size.width,followImage.size.height);

【问题讨论】:

我认为这只是一个指导方针/建议。就苹果而言,您可以将其设为 1x1。 【参考方案1】:

您的应用不会因为使用小于 44x44 像素的按钮而被拒绝。但是,您的用户不会欣赏它。在某些情况下,您可能需要一个小于 44x44 的按钮,因此最好将其子类化并将触摸区域增加到 44x44 或更大,而实际图像更小并位于该触摸区域的中心。

请记住,iPhone 使用 163 ppi,iPad 使用 133,而 iPad Mini 是 163。因此,在 iPad 上看起来有点大的按钮在 iPhone 和 iPad Mini 上会更小。

期望来自ios人机界面指南:http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/UIElementGuidelines/UIElementGuidelines.html%23//apple_ref/doc/uid/TP40006556-CH13-SW41

【讨论】:

【参考方案2】:

不,不会被拒绝,40x40 只是 Apple 的建议,所以你可以随意设置任何你想要的框架,只要它方便用户。

事实上,苹果自己在 ios AppStore 应用程序中并没有遵循这个建议(安装/购买/免费按钮的高度约为 25 像素)。

【讨论】:

以上是关于UIButton 的像素大小要求的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIButton 上设置宽度约束

为啥我的 UIButton 图像大小在模拟器和设备中不同?

UIButton - 仅在一个方向上可拉伸的背景图像?

UIButton 的剪辑图像

UIButton + 斜体字体 = 剪裁

如何调整UIButton里面的文字位置