【问题标题】:iOS 13 - UIBarButtonItem size too smalliOS 13 - UIBarButtonItem 尺寸太小
【发布时间】:2019-09-15 02:55:32
【问题描述】:

我正在将我的应用更新到 iOS 13,我的 UIBarButtonItems 更小了。

iOS 13 截图:

iOS 12 截图:

看看暂停图标。它更小。

我的代码:

[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(botaoPressionado:)];                                                      

任何想法如何解决这个问题?

【问题讨论】:

  • 能否展示如何将图形添加到 UIBarButtonItem 的代码?
  • @MichaelDautermann 添加了!
  • 这感觉像是一个潜在的自动布局/约束问题。但无论如何,这一行对我没有太大帮助,我希望看到更多的代码行(例如,你如何分配正常大小的右栏按钮项目;以及你如何设置这两个滑块两侧的按钮)。
  • @ErickSasseFilho 我认为这是本机行为,所以我认为我们无法改变。您可能需要为 iOS 13 使用图像。 UIBarButtonItem.init(image: UIImage(named: "play.png"), style: .plain, target: self, action: nil)
  • 在您附加的图像中,图标的大小完全相同。在 iOS 13 图像上,只有条形高度更大。你确定你得到的是更小的图像吗?

标签: ios interface-builder uistoryboard ios13


【解决方案1】:

iOS 13 中的原生图像已更改。 UIBarButtonSystemItemPlay 图像已更改。与您使用的第二张相同UIBarButtonSystemItemAction 图像。

Xcode 10 - iOS 12:

Xcode 11 - iOS 13:

如果您想保持两个 iOS 的一致性,请在栏按钮中添加自定义图像。

编辑

更改条形按钮项目的色调颜色:

barButtonItem.tintColor = .black

如果要使用自定义图片,则设置条形按钮系统项属性自定义和:

barButtonItem.image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)

【讨论】:

  • 感谢您的回复。是否可以以编程方式更改图像颜色?设置色调什么的。因为根据颜色,我的按钮会发生变化。
  • 我问它是因为我之前尝试过并且图像始终保持原始颜色。
  • @ErickSasseFilho 你可以通过设置 UIBarButtonItem 的 tint color 来改变颜色。
【解决方案2】:

在带有新 SFSymbols 的 iOS 13 中,图标大小会根据空间进行调整。

在这种情况下,音量条的大小是固定的,而且它太大了,所以它会挤压播放/暂停按钮。

修复了它减少音量条宽度,现在看起来像这样:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2019-04-01
    • 2018-12-28
    • 2020-01-17
    • 1970-01-01
    • 2016-01-07
    • 2020-06-05
    相关资源
    最近更新 更多