MFsidemenu禁用scrolltotop表视图

时间:2013-09-26 20:27:59

标签: ios uitableview uiscrollview scroll containers

我已成功实施MFSideMenu,以便滚动视图中的所有导航正常除了 scrollsToTop(特别是在我的TableViewControllers和UIscrollview占用整个帧的一个ViewController中)。 scrollsToTop无法正常工作,即使它已在每个TableView中启用。

我知道MFSideMenu导致了这个问题,因为我从项目中删除了它,而且scrolllsToTop工作正常。

以下是我在发布时从AppDelegate调用MFSideMenu的方法:

//Instantiate the Side Menu and the center view
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
UITabBarController *tabBarController = [storyboard instantiateViewControllerWithIdentifier:@"MainTabBar"];

SideMenuViewController *leftSideMenuController = [[SideMenuViewController alloc] init];
UINavigationController *leftViewNavigationController = [[UINavigationController alloc] initWithRootViewController:leftSideMenuController];
MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                containerWithCenterViewController:tabBarController
                                                leftMenuViewController:leftViewNavigationController
                                                rightMenuViewController:nil];

self.window.rootViewController = container;
[self.window makeKeyAndVisible];

我关注的TableViews嵌入在NavigationControllers中,它们嵌入在上面代码中引用的tabBarController中。当我删除这段代码时,scrollsToTop正常工作。

我认为我需要调整容器以包含TableViewControllers。关于如何做到的任何想法?

1 个答案:

答案 0 :(得分:0)

我自己的问题的答案:

问题似乎是我在导航控制器中有左侧菜单。所以我放弃了,并为菜单控制器制作了故事板布局。在那个故事板布局中,我添加了一个导航栏来掩盖通常出现在此版本的MFSideMenu中的黑色空间。

所以AppDelegate中的新窗口设置是......

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
UITabBarController *tbc = [storyboard instantiateViewControllerWithIdentifier:@"MainTabBar"];


//Then put get the left side menu controller, but inside of a navcontroller
SideMenuViewController *leftSideMenuController = [storyboard instantiateViewControllerWithIdentifier:@"SideMenu"];
MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                containerWithCenterViewController:tbc
                                                leftMenuViewController:leftSideMenuController                                                    rightMenuViewController:nil];

self.window.rootViewController = container;
[self.window makeKeyAndVisible];

另一个UIViewController中的scrollview问题原来是一个Autolayout问题。