自定义iPhone App标签栏

时间:2010-12-28 03:36:57

标签: iphone uitabbarcontroller uitabbar

好吧,这看起来很简单,但我没有找到很多关于此的文档或帖子。基本上,我想在我的应用程序底部有一个完全自定义的标签栏。作为iPhone开发人员的新手,我想我可以做到以下几点:

  1. 将自定义图片放在底部 屏幕充当标签按钮。
  2. 创建一个UIView(让我们调用它 “ContentView”)填补剩下的部分 将显示的屏幕 适当的标签的NIB。这个 “ContentView”位于主要内部 UIView为NIB。
  3. 将图像“按下”动作连接到 控制器管理这一切。
  4. 我不知道如何用这种方法将适当的NIB加载到“ContentView”中。从控制器中的“Touch Up”操作方法,我可以动态地将NIB加载到“ContentView”UIView中吗?

    关于这一切的事情让我感到不安 还有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

要解决您的问题,我会创建一个带有UIView及其相关内容的笔尖。将笔尖连接到UIViewController。这将是每个标签的内容。根据需要创建尽可能多的UIView-UIViewController组合。

当用户触摸选项卡时,使用

从笔尖创建并加载UIViewController
– initWithNibName:bundle:

将nib中的UIView作为子视图添加到主内容视图中。使用

– addSubview:

当用户按下其他标签时,将其他笔尖加载到内存中,并将其UIView作为子视图添加到主内容视图中。

如果视图已在内存中,您可以使用以下方法显示和隐藏子视图。

– bringSubviewToFront:
– sendSubviewToBack:

我认为这样可行。

答案 1 :(得分:0)

您可以通过

解决此问题

使用相同的标签栏图像和自定义按钮创建不同的视图(在IBAction上加载视图以点击按钮:在内部触摸)或者您可以为同一视图创建不同的视图(这样您可以隐藏视图并仅显示一个视图相应的时间)。

你可以加载视图(如果你的应用程序是基于视图的,那么在窗口上添加其他视图,否则你需要pushViewController的导航控制器的基于导航的应用程序。

这是一项棘手的任务,但你需要处理这个问题。