【问题标题】:Adding home icon to the tab bar将主页图标添加到标签栏
【发布时间】:2018-10-21 15:42:59
【问题描述】:

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

我想为标签栏按钮/项目使用系统主页图标 (https://developer.apple.com/documentation/uikit/uiapplicationshortcuticontype/1623374-home)

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

【问题讨论】:

  • 好吧,xcode 处理这种情况的方式纯属愚蠢。指出这一点并不羞耻。我猜有些开发人员爱上了他们最喜欢的公司/技术。然后他们会被这样的cmets亲自冒犯。随意继续投票给我。
  • 主页图标是最标准的导航元素 - 数百万用户已经熟悉 Messenger、Instagram、Google 翻译等应用程序以及 iOS 上的许多其他应用程序。同时,Apple 将主页图标排除在导航栏默认可用的图标列表之外,包括没有人真正使用的图标。作为一个使用这项技术的开发者社区,你们的问题是你们所说的——“这就是它的方式,我们需要接受它,咆哮只会给你带来更少的帮助”。
  • 请添加当前结果的截图。另外,您确定图片名称拼写正确吗?
  • 我将在今天晚些时候添加屏幕截图,我目前不在我的 Mac 上,试图在我的应用程序上取得一些进展,但我目前无法直接处理它。我认为 Matic 的回答可能是正确的,即图片显示不正常,因为我需要进一步处理这个 png,应用透明背景等。

标签: ios xcode tabbar


【解决方案1】:

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

因此,“将主页图标添加到标签栏”与任何其他标签栏项目几乎相同。您可以添加代表“主页”按钮的图像和/或文本。有些图像可能已经供您使用,但其他图像必须由您制作/购买/窃取。

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

我不确定标签栏,但您也可以尝试打开您的资源,选择您的图像,然后在右侧的选项中找到“渲染为”并将其设置为“原始图像”。即使这可行,由于图像上的背景为白色,结果也不会如您所愿(至少在大多数情况下)。

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

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

【讨论】:

  • 非常感谢,您是 100% 正确的!在 png 中设置透明背景就可以了。至于将“渲染为”设置为“原始图像”,它确实使图片出现在标签栏上,但正如您所说,在这种情况下,如果没有删除,则会显示白色背景。
猜你喜欢
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多