【问题标题】:iOS System Icons not respecting UIButton's UIImageInsetsiOS 系统图标不尊重 UIButton 的 UIImageInsets
【发布时间】:2020-07-04 09:13:27
【问题描述】:

我正在使用 iOS 的 system icons,以便我可以在整个项目中拥有一致的用户界面。使用这些图标时我注意到的一件事是,即使我将系统图标设置为UIButton 的图像,它也不会像普通项目图像那样增长到填充按钮的大小。例如,如果我们有一个非常大的UIButton,假设高度和宽度为 500,即使在界面生成器中 UIButton 的图像插图的左、上、下和右值都设置为 0 ,用于按钮图像的系统图标将保持相同的小尺寸。

事实上,系统图标唯一会遵守界面构建器对图像插入的说明的情况是,当所述插入要求图像自身变小时。

有人知道如何使系统图标在UIButtons 的图像插入方面表现得与普通项目图像相似吗?

【问题讨论】:

    标签: ios swift uibutton uikit uiedgeinsets


    【解决方案1】:

    您可以使用界面生成器。在右侧的属性检查器中,使用 Control 部分,如下所示:

    以及您可以在情节提要中使用的代码,就像您已经在使用的一样。

    【讨论】:

    • 这实际上是最好的答案,因为它允许我从界面构建器解决我的问题(尽管这两种方法似乎都有效)。谢谢!
    【解决方案2】:

    如果在您将contentMode 设置为“Aspect Fit”时它是UIImageView,系统图像将调整自身大小以符合高度和宽度。

    问题是您不能在情节提要上设置UIButton.imageViewcontentMode,但您可以通过编程方式进行设置,

    override func viewDidLoad() {
        yourButton.imageView?.contentMode = .scaleAspectFit
        yourButton.contentHorizontalAlignment = .fill
        yourButton.contentVerticalAlignment = .fill
    }
    

    【讨论】:

    • 啊,我试过从界面生成器设置内容模式,但我想那是 UIButton 本身的内容模式,而不是它的 UIImageView。谢谢!
    猜你喜欢
    • 2016-06-30
    • 2021-08-19
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 2019-05-09
    • 2016-09-10
    • 1970-01-01
    • 2013-06-26
    相关资源
    最近更新 更多