iOS自定义菜单(导航控制器?)

时间:2011-09-13 15:03:28

标签: iphone ios uinavigationcontroller custom-controls

我有一个计划好的应用,需要在整个应用程序中有一个自定义菜单。它不是工具栏或类似的东西所以我不认为常规的UINavigationController或UITabBarController将完成这项工作。

创建出现在所有视图中的自定义菜单的最佳方法是什么?我想过用自定义菜单创建一个视图并为每个视图分配它,但它看起来有点过分。扩展UINavigationController也可能是一个选项,但我不确定。

很想听听你的意见。

谢谢! :)
晒。

5 个答案:

答案 0 :(得分:2)

UINavigationController和UITabBarController几乎总是最好的方法,因为它们内置了视图和内存管理。以下是你可以做的:

  1. 创建一个隐藏标签栏的UITabBarController的子类。请参阅此页面上的最后一篇文章:http://www.iphonedevsdk.com/forum/iphone-sdk-development/4091-uitabbarcontroller-hidden-uitabbar.html在单个对象上访问此UITabBarController。
  2. 为菜单创建一个视图,并为菜单按钮创建一些IBAction。
  3. 按下菜单按钮后,您可以按如下方式手动切换uitabbarcontroller的选项卡:tabBarController.selectedIndex = x;

答案 1 :(得分:1)

我同意ade。我认为添加到共享类的popover控制器最适合iOS风格(我将它放在AppDelegate中,以便从任何地方引用它,并避免创建多个实例并仅使用一个你将继续显示/隐藏,只要你想看菜单

答案 2 :(得分:0)

我认为最好的方法是创建一个自定义工具栏并在整个应用中使用它。对UINavBar进行子类化是另一种选择,但Apple不推荐这样做,所以我不会去那里。

答案 3 :(得分:0)

我会考虑使用诸如WEPopover

之类的popover样式菜单

答案 4 :(得分:0)

我可以想到两个选项:1。子类UINavigationController,隐藏标准的UINavigationBar视图并创建自己的视图并将其置于其上(丑陋且谁知道结果最终会如何)。 2.将菜单添加为UIWindow的子视图,使其始终位于整个应用程序的所有内容中。