【问题标题】:Custom iPhone App Tab Bar自定义 iPhone 应用程序标签栏
【发布时间】:2010-12-28 03:36:57
【问题描述】:

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

  1. 将自定义图像放在底部 屏幕充当标签按钮。
  2. 创建一个 UIView(让我们称之为 "ContentView") 来填充其余部分 将显示 适当的标签的NIB。这 “ContentView”在主里面 笔尖的 UIView。
  3. 将图像“按下”操作连接到 负责管理这一切的控制器。

我不确定如何使用这种方法将适当的 NIB 加载到“ContentView”中。从控制器中的“Touch Up”操作方法中,我可以将 NIB 动态加载到该“ContentView”UIView 中吗?

这整件事让我感到不安。
有没有更好的办法?

【问题讨论】:

  • 我不知道你为什么需要动态加载笔尖。你想通过这一步完成什么?我会先完成前三个步骤,然后将其连接起来并称之为完成。

标签: iphone uitabbarcontroller uitabbar


【解决方案1】:

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

当用户触摸选项卡时,使用 nib 创建并加载 UIViewController

– initWithNibName:bundle:

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

– addSubview:

当用户按下其他选项卡时,会将其他 nib 加载到内存中,并将其 UIView 作为子视图添加到主内容视图中。

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

– bringSubviewToFront:
– sendSubviewToBack:

我认为这会奏效。

【讨论】:

  • 感谢您的快速回复!我不知道“addSubView”方法在这种情况下的行为方式。这似乎是一个很好的解决方案,因为选项卡仅在需要时加载,并且在不使用时被缓存。
【解决方案2】:

你可以解决这个问题,

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

并且您可以加载视图(如果您的应用是基于视图的,则在窗口上添加其他视图,否则对于基于导航的应用,您需要 pushViewController 的导航控制器。

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

【讨论】:

  • 感谢您的回复,但我认为大卫的建议更符合我的初衷!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多