iOS - Singleton UIView? Facebook风格的导航

时间:2012-10-10 16:32:43

标签: ios uiview uiviewcontroller singleton

我想实现类似于facebook导航菜单的功能,您可以在其中单击菜单按钮以将当前视图滑过以调整下方的菜单。问题是如何让菜单始终作为底层视图保留。

菜单有一个tableView,它将突出显示您当前的视图或部分。目前我在每个View上都有一个属性,菜单将被分配给,但我不知道如何设置单例UIView用于菜单。换句话说,如果菜单不是单身,我可以这样做:

self.menu = [[[NSBundle mainBundle] loadNibNamed:@"menu" owner:self options:nil] objectAtIndex:0];

但在这种情况下,我正在为每个视图创建一个新菜单。我需要为每个视图分配相同的菜单。

建议?


如何创建一个单独的NSObject,它将菜单视图作为属性?

然后我可以从单例中获取此视图并将其分配给每个视图的self.menu?

2 个答案:

答案 0 :(得分:2)

我猜你会有某种主视图控制器处理所需的所有不同视图。

此视图控制器可以具有存储“菜单视图”的属性;当您为菜单中的项目创建新的视图控制器时,会向其传递对“菜单视图”的引用,该菜单视图存储在主视图控制器中。

这可能对您有用而无需使用单身。

答案 1 :(得分:1)

有许多模仿该行为的开源控制器(例如this onethisthis) - 您可以检查它们的实现以了解它们的工作原理(或者在他们的项目中使用它们)

基本上你需要创建“主”视图控制器来处理菜单控制器和内容控制器以及它们之间的导航,如@sergio所说。