0

我正在尝试将新的 SFSymbols 用于标签栏中的图标。

图像应在其各自的标签栏项目中居中,但它们似乎与顶部对齐:

标签栏项目顶部对齐...

这是来自 View Hierarchy Debugger 的图像:

...可以在 View Hierarchy Debugger 中看到

这是用于创建图像的代码:

class TabBarController: UITabBarController {
  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    children[0].tabBarItem.image = UIImage(systemName: "magnifyingglass")
    children[1].tabBarItem.image = UIImage(systemName: "ellipsis")
  }
}
4

1 回答 1

0

您可以通过指定从底部的基线偏移量将其垂直居中,该偏移量是您用于 SFSymbol 的字体大小的一半。在您的情况下,您没有指定字体,因此它将是默认系统字体大小的一半。

tabBarItem.image = UIImage(systemName: "ellipsis")!.withBaselineOffset(fromBottom: UIFont.systemFontSize / 2)

在此处输入图像描述

于 2020-05-13T08:22:06.620 回答