ios - 图像在运行时自动调整大小但不在 Interface Builder 上

标签 ios uibutton uiimage rendering

好吧,这让我很苦恼。我有一个大小为 10x36px 的 PNG 图像。 当我尝试在我的任何 View 中使用它时,它都会调整大小。不是框架属性,这个保持不变。但在视觉上图像并不相同。

真实图像是这样的this . (抱歉,如果您几乎看不到它。那是因为它在白色前景上有白色背景)。

但是当我在模拟器中时(它也在设备上发生)它看起来像这样。

this .

我没有使用约束(我关闭了 AutoLayout 以查找错误)。

我打印了那个按钮的框架,它的宽度、高度、x 和 y 值与界面生成器中的值一样。我把它们印在各处并响应不同的事件(我知道,这不是原因。我只是绝望了)。

这只发生在这个 PNG 上,特别是导致我在相同 View 中的其他 UIButton,但使用不同的图像,工作正常。

这个错误的原因可能是什么?

编辑:

尝试作为背景图片时效果会更好。但仍不完美。

this

最佳答案

在 Photoshop/Pixelmator 中将 png 图像放在空的 36x36 png 图像中,以停止调整大小并保留原始比例。

或者尝试在 Interface Builder 中或以编程方式将 View 内容模式设置为“纵横比”:

yourImageView.contentMode = UIViewContentModeScaleAspectFit;

原因可能是 UIBarButtons 处理图像的方式与 UIButtons 不同。 UIBarButtons 通常用于 UINavigationBars 或 UIToolbars,而 UIButtons 通常用于 View。

关于ios - 图像在运行时自动调整大小但不在 Interface Builder 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26938762/

相关文章:

ios - 如何在 iOS 8 中比较两个 UIImage

iphone - 如何在 iPhone 上读取大型 UTF-8 文件?

ios - 如何在 iTunes Connect 中查看崩溃原因?

ios - 如何知道触摸了哪个tableview单元格中的哪张图片?

ios - Pan Gesture 正在工作,但 ONTapGesture 不在 UIView 上工作

ios - 如何在iOS中拖动图像时将图像重叠在另一个图像上?

iphone - iPhone 上的仪表动画

ios - 在 Swift 4 中对 UIButton 添加操作

ios - 如何快速创建弧形 ios

Iphone/Ipad 添加图像和文本到导航标题