MonoTouch 中的自定义标签栏项目

Posted

技术标签:

【中文标题】MonoTouch 中的自定义标签栏项目【英文标题】:Custom tabbar items in MonoTouch 【发布时间】:2012-04-27 21:12:20 【问题描述】:

我想创建类似于此处显示的自定义标签栏项目:

我认为这些必须首先在 Photoshop 或类似应用程序中设计和创建。是否有任何资源或教程可用于演示如何在 Photoshop 中创建此类项目以及如何在 MonoTouch 中使用这些项目?

【问题讨论】:

【参考方案1】:

创建和捆绑位图是一种选择 - 可能是最常见的一种(谷歌搜索应该找到几个教程)。现在,为了获得最佳质量,您需要为 iPhone/iPod、较新的视网膜 iPhone/iPod、iPad (1,2) 和视网膜 iPad 3 提供多套。这可能需要有很多空间可以用漂亮的图标覆盖每个案例(否则看起来不会那么好)。

替代方法是在运行时创建位图,例如使用 CoreGraphics API。这似乎会适得其反(在许多情况下肯定会适得其反),但它的优点是需要更少的(存储)空间和/或获得更好的质量(见注)。

为什么?因为如果您在运行时创建它们,那么您只会为您正在执行的特定设备创建它们。您甚至可以缓存它们并在丢失时重新创建它们(例如,如果 ios 刷新您的应用程序缓存)。

如果您不是艺术家(我也不是),您可能希望查看易于获得许可的矢量图标。您的屏幕截图中的字体看起来是单色的,甚至可以使用(捆绑或额外的轮廓)自定义字体 - 就像 FontAwesome (CC BY 3.0) 或类似来源提供的字体。

注意:也许您注意到(我知道我注意到了)某些 iPad 应用程序在 iPad3 上看起来漂亮(与其他应用程序相比),即使它们是在硬件可用前几个月发布的。矢量图形获胜;-)

更新:有人已经创建了script 来将 FontAwesome 字符转换为 iOS 标签栏图标。但是,由于它是在应用程序之外完成的,因此您需要每个位图的多个版本才能在每台设备上获得最佳外观。

【讨论】:

以上是关于MonoTouch 中的自定义标签栏项目的主要内容,如果未能解决你的问题,请参考以下文章

标签栏项目的自定义图像

颤动中的自定义标签栏

swift和xcode 6中的自定义标签栏

单击 UITabBarController 时的自定义操作

iOS 8:在界面构建器中设置的自定义标签栏项目的选定图像不起作用

如何在 Flutter 中创建像这样的自定义可滑动标签栏?