将主页图标添加到标签栏

Adding home icon to the tab bar

我想使用 主页按钮 在屏幕底部实现一个栏 - 就像在 Instagram 或 Messanger 应用程序中一样。我试图使用标签栏 (https://developer.apple.com/ios/human-interface-guidelines/bars/tab-bars/)

而且我想为标签栏使用系统主页图标button/item (https://developer.apple.com/documentation/uikit/uiapplicationshortcuticontype/1623374-home)

有什么简单直接的方法可以为标签栏项目设置主页图标吗?
Xcode中的button/item属性中的列表中可以直接选择一些图标,但是这个home图标不在其中。
我还保存了上面 link 中的 png,将其调整为 30x30 并添加为 button/item 的图片,但它只显示一个灰色矩形。

Apple 可能会或可能不会为您提供某些图像。一般来说,没有人使用库存图片,而是提供自己的图片。你也应该这样做。

所以 "Adding home icon to the tab bar" 与任何其他标签栏项目几乎相同。您可以添加代表 "home" 按钮的图像 and/or 文本。有些图像可能已经供您使用,但其他图像必须由您 made/bought/stolen。

您在标签栏项目中使用的图像仅用作掩码,而不是显式图像。这意味着将只获取图像的 alpha 分量。在您的情况下,您在白色背景上有一个黑色图标,从 alpha 角度来看,这意味着您有一个矩形。您需要删除白色背景并使其透明或使用其他已经具有这些属性的图像。

我不确定标签栏,但你也可以尝试打开你的资产,select你的图像,然后在右侧的选项中找到 "Render as" 并将其设置为 "Original image".即使这可行,由于图像上的白色背景,结果也不会如您所愿(至少在大多数情况下)。

通常,此选项用于将其设置为 "template",这意味着每当您在 UIImageView 等组件上使用此图像时,它将使用它的色调颜色和图像 alpha 组件,而不是图像的实际颜色。这是一个非常有用的工具,但我再次不确定它是否适用于标签栏项目。

您应该停止怀疑 Xcode 是否设计得过于复杂。抛开大量的错误(确实有很多)并且它很慢(它确实曾经更快)它的设计非常好。但是标签栏视图控制器是非常高级的组件。如果您不喜欢它的原样,那么只需创建您自己的即可。您所需要的只是一个带有 N 按钮的底部视图,按钮的形状可以是您可以想象的任何形状,以及一个容器视图,当按下其中一个按钮时,您可以在该视图上设置一个新的视图控制器。