【问题标题】:MFsidemenu disables scrolltotop table viewMFsidemenu 禁用滚动表视图
【发布时间】: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。关于如何做到这一点的任何想法?

【问题讨论】:

    标签: ios uitableview uiscrollview scroll containers


    【解决方案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 中的滚动视图问题原来是自动布局问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 2011-11-28
      • 2011-12-05
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多