【问题标题】:Button image stretching按钮图像拉伸
【发布时间】:2016-01-06 14:11:20
【问题描述】:

我的按钮图片有问题。我有一个绿色背景和一个图标。问题在于,在较大的屏幕上,由于按钮也会拉伸到屏幕大小,因此图像会拉伸。

我发现了他们谈论的其他几个话题,但没有一个能帮助我解决这个问题。

下一张最好的图片解释了这个问题:

【问题讨论】:

    标签: ios image button


    【解决方案1】:

    如果您希望按钮看起来像第三张图片,则必须使用该尺寸和分辨率的图片。

    或者,您可以在 UIButton 的 imageView 对象上设置 contentMode。在 viewDidLoad 函数中使用这行代码

    button.imageView!.contentMode = UIViewContentMode.ScaleAspectFit
    

    当您的约束增加按钮的大小时,其中使用的图像将遵守 contentMode 属性集。使用那些你可以拉伸它,它现在正在做的,或者你可以保持纵横比,在这种情况下,它会在侧面显示空白。

    【讨论】:

    • 我使用的按钮背景是UIColor,按钮图像居中是一个图标电话,图标电话是大小按钮的中间
    • @Gian 你的 UIColor 背景是什么颜色?
    • 按钮只有绿色。背景颜色是绿色,其他颜色不是按钮
    • @Gian 你在 Storyboard 中设置图像吗?
    • 在故事板中是的
    【解决方案2】:

    您的约束似乎没有考虑资产的大小。

    您应该为图像资源设置宽度和高度约束。

    【讨论】:

    • 我正在考虑您在所有分辨率上都使用相同的图像,对吧?如果您有 3 个不同的图像,则不会出现此问题...
    • 我使用的按钮背景是UIColor,按钮图片居中是一个图标电话
    • @Gian 你能告诉我们一些代码或约束是如何放置的吗?
    【解决方案3】:

    使用内容模式设置,尝试“Aspect fit”而不是当前选择的设置。

    【讨论】: