MFsidemenu 禁用滚动表视图
Posted
技术标签:
【中文标题】MFsidemenu 禁用滚动表视图【英文标题】:MFsidemenu disables scrolltotop table view 【发布时间】:2013-09-26 20:27:58 【问题描述】:我已经成功实现了 MFSideMenu,以便所有导航都能正常工作除了 scrollsToTop 在滚动视图中(特别是在我的 TableViewControllers 和 UIscrollview 占据整个框架的一个 ViewController 中)。 scrollsToTop 不起作用,即使在每个 TableView 中都启用了它。
我知道是 MFSideMenu 导致了这个问题,因为我从项目中删除了它,然后 scrollsToTop 工作正常。
下面是我在启动时从 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];
我关心的TableView是嵌入在NavigationControllers中的,它嵌入在上面代码中引用的tabBarController中。当我删除这段代码时,scrollsToTop 可以正常工作。
我想我需要调整容器以以某种方式包含 TableViewControllers。关于如何做到这一点的任何想法?
【问题讨论】:
【参考方案1】:我自己的问题的答案:
问题似乎是我在导航控制器中有左侧菜单。所以我放弃了这一点,并为菜单控制器制作了故事板布局。在那个故事板布局中,我添加了一个导航栏来掩盖通常出现在这个版本的 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 中的滚动视图问题原来是自动布局问题。
【讨论】:
以上是关于MFsidemenu 禁用滚动表视图的主要内容,如果未能解决你的问题,请参考以下文章