我试图在我的导航控制器上使用UIImage
作为我的左栏按钮。在设计文件中,按钮为40X40px。这最终太大而无法用于按钮。如下所示:
我将按钮缩小到16px,现在我得到了这样的结果:
我似乎无法确定按钮的大小,使其看起来清晰。我尝试过28px-10px。有什么建议?
编辑添加了10px,20px和30px的图像
设置按钮的代码
var settingsImage = UIImage(named: "SettingsButton10px.png")
settingsImage = settingsImage?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
let settingsButton : UIBarButtonItem = UIBarButtonItem(image: settingsImage, style: UIBarButtonItemStyle.Plain, target: self, action: #selector(HomeController.settingsPressed))
self.navigationItem.leftBarButtonItem = settingsButton
答案 0 :(得分:1)
在您的项目Assets.xcassets
中,创建一个Image Set
并提供@ 1x,@ 2x和@ 3x版本。因此,如果原始图像大小为20x20,则还需要40x40和60x60。
然后,当您在UIImage
中引用图像时,请使用Assets.xcassets
中没有文件扩展名的图像集名称进行操作。因此,如果ImageSet
中Assets.xcassets
的名称为SettingsIcon
,您可以加载图片,如下所示:
UIImage(named: "SettingsIcon")
答案 1 :(得分:1)
如果加入@ 2x& @ 3x图像尺寸没有帮助你为什么我们不能用矢量pdf ..?这是我有的东西
3.确保图像集看起来像这样
答案 2 :(得分:0)
Apple在此处提供了有关自定义图标大小的一些信息:https://developer.apple.com/ios/human-interface-guidelines/graphics/custom-icons/
你想要iPhone 5的尺寸是“大约44px乘44px”,所以你可以在正确的球场上找到它。这是确保iOS知道这是视网膜分辨率资产的问题。
最简单的方法是将其放在Assets.xcassets
内的“图像集”中。这些是用于多种不同比例的容器,允许iOS为给定设备选择适当的版本并显示它而不会出现像素化。
在视网膜前设备中使用“1x”刻度,“2x”是最常见的(并且是您需要为iPhone 5模拟器设置的),而“3x”适用于iPhone 6 Plus尺寸的手机
如果您尚未创建3x图像,暂时将其留空是很好的。