SideMenu和Tabbar在一个iOS应用程序中?

时间:2013-10-14 19:58:37

标签: ios uitabbarcontroller sidebar

我正在尝试在一个iOS应用程序中实现自定义标签栏和自定义侧边菜单,就像在新的Facebook iOS应用程序中一样。我尝试使用以下链接https://github.com/mikefrederick/MFSideMenuhttps://github.com/isaacueca/3dglobe/tree/4648fed5915cef53c58f3e54efadf0f512446e59/xCode/UniversialGlobe/Classes与DDKCustomTabbar类,但是当我尝试使用此代码时将它们都放在一起:

[self.window addSubview:sideMenu.view];

[self.window addSubview:tabbar.view];

tabbar覆盖sideMenu和对面。

1 个答案:

答案 0 :(得分:3)

快点几点,

您尝试将它们添加到窗口中,这几乎肯定不是您想要的。相反,您希望在窗口上设置单个根视图控制器。

现在快速查看这两个项目,您需要做的是创建一个菜单视图控制器,其中标签栏视图控制器作为中心视图控制器。然后将菜单视图控制器设置为窗口的根视图控制器。这是一个非常粗略的例子,说明如何做到这一点。

GTabBar *tabBarViewController = [[GTabBar alloc] initWithTabViewControllers:@[<Tab View Controller>] tabItems:@[<TabBarItems>] initialTab:0];

YourLeftSideBarMenuViewController *leftMenuViewController = [[YourLeftSideBarMenuViewController alloc] init];
YourRightSideBarMenuViewController *rightMenuViewController = [[YourRightSideBarMenuViewController alloc] init];
MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                containerWithCenterViewController:tabBarViewController

                                                leftMenuViewController:leftMenuViewController
                                                rightMenuViewController:rightMenuViewController];

self.window.rootViewController = container;

查看菜单MFSideMenu项目中包含的基本演示。

我还建议您阅读UIKit的工作原理,以便了解窗口,视图,viewController等之间的区别......

Apple有一个非常详细的指南,它将为您提供基本知识:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AppDesignBasics/AppDesignBasics.html#//apple_ref/doc/uid/TP40007072-CH2-SW1