好吧,现在这让我很挣扎。我有一个PNG图像,大小为10x36px。 当我尝试在我的任何视图中使用它时,它会被调整大小。不是框架属性,这个属性保持不变。但在视觉上,图像并不相同。
真实图像就像这个。 (对不起,如果你几乎看不到它。那是因为它在白色前景上有白色背景)。
但是当我在模拟器中时(它也发生在设备上)它看起来像这样。
我没有使用约束(我关闭了AutoLayout以找到错误)。
我打印了该按钮的框架,它的宽度,高度,x和y值与界面构建器中的值一样。我把它们印在各处,也是为了回应不同的事件(我知道,这不是原因。我只是绝望了。)
这种情况只发生在这个PNG上,特别是因为我在同一个视图中有其他UIButton,但是有不同的图像,工作得很好。
导致此错误的原因是什么?
编辑:
尝试作为背景图片,它变得更好。但仍然不完美。
答案 0 :(得分:3)
将png图像放在Photoshop / Pixelmator中的空白36x36 png图像内,以停止调整大小并保留原始比例。
或尝试在Interface Builder中或以编程方式将视图内容模式设置为“纵横比适合”:
yourImageView.contentMode = UIViewContentModeScaleAspectFit;
原因可能是UIBarButtons以不同于UIButton的方式处理图像。 UIBarButtons通常用于UINavigationBars或UIToolbars,而UIButtons通常用于View中。
答案 1 :(得分:1)
确保使用的是按钮背景图像,而不是按钮图像。
按钮背景图片覆盖整个按钮背景。
按钮图像将图像放置在背景的一部分上。
另外,使用xcassets。它附带项目模板。如果您没有(删除它),请添加一个新图像并创建图像集。完成后,添加图像。确保为图像集中的每个图像选择“渲染为原始图像”。
答案 2 :(得分:1)
您链接的PNG图像不是10x36像素,而是10x30。糟糕?