27

我最近做了很多关于如何UITabBar在我的 iPhone 应用程序上获得不同的外观和很好的效果的研究,但不幸的是我只找到了关于如何替换背景颜色等的东西。

好吧,我已经查看了这个名为Momento的应用程序,它非常酷,并且提供了一个非常漂亮的 tabBar:

Momento的UITabBar

所以这里有几个元素我想问你们是否可以通过给我正确的方向来帮助我如何获得类似的效果:)

  • 项目上方的箭头:如您所见,此应用程序有这个动画箭头,它以非常流畅的动画在所选项目上方运行。

  • 项目图像的选定状态既不是蓝色的默认状态,也不是以不同深浅的棕色和灰色版本显示的默认状态。

  • 带有斜面垂直线的漂亮项目分隔符。

  • tabBar 的不同背景图像

  • tabBar 的不同高度

在这一点上,经过一些研究,我可以通过子类化设置高度和背景图像,UITabBarController但我仍然不确定如何完成其​​他项目,特别是与漂亮箭头效果相关的第一个项目。

我该怎么做呢?请通过子类化来阐明什么可以或不能做什么UITabBarController,特别是如果可以在 Interface Builder 中完成。

4

3 回答 3

15

github 上有一个项目BCTabBarController,旨在模仿 iPhone 版 Twitter 中使用的标签栏。它有一些你正在寻找的东西,应该是一个很好的起点。

于 2011-01-09T18:06:13.693 回答
5

Both of these are good answers, but both libraries have problems: BCTabBarController doesn't know how to create the "blue" highlighted version of a tab bar icon; and iDevRecipies doesn't send events to child viewcontrollers nor resize the navigation bar on rotate.

Be warned: custom nav bars are a lot of trial-and-error debugging (as I have found).

于 2011-06-08T17:34:21.187 回答
2

只需使用具有 TabBar 宽度和高度的 UIView。在视图上添加自定义背景图像和自定义按钮。将视图的文件所有者设置为 AppDelegate。现在您可以简单地将 IBActions 与按钮连接起来。自定义视图可以放在标签栏上通过 addSubView 到 TabBar 控制器的视图中。您可以在按钮操作中使用 tableviewcontroller 的 setSelectedIndex 方法在视图控制器之间切换。

于 2012-09-22T15:01:53.153 回答