1

我正在使用MMDrawerController在我的 iOS 应用程序中创建幻灯片菜单。菜单运行良好,但我遇到了一些麻烦。我的菜单ViewController带有TableView非常轻的 4 个自定义单元格。

  1. 我的应用程序现在有顶栏 - 我不知道如何关闭它。
  2. 我有显示我的菜单的按钮。当我用手指在屏幕上滑动打开菜单时,它看起来不错,但是当我第一次运行应用程序并按下此按钮时,菜单打开时会有一些视觉滞后。似乎菜单没有完全加载 - 所以它首先显示在屏幕顶部附近,然后它在适当的位置下降。仅当我第一次使用按钮打开菜单时才会发生这种情况。这是行动。

    @IBAction func showMenu(sender: AnyObject) 
    {
      var appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
      appDelegate.centerContainer?.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
    }
    
  3. 如何设置菜单的宽度?我的菜单很宽,也许可以定制得更小。

4

2 回答 2

3
  1. 要隐藏状态栏,您可以使用

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    

    或快速版本

    UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
    
  2. 您可能在 init 中做了太多的初始化工作viewDidLoad,这就是它有点滞后的原因。

  3. 您可以使用

    @property (nonatomic, assign) CGFloat maximumLeftDrawerWidth;
    

    属性来设置最大宽度。

于 2015-04-30T06:43:26.400 回答
0
  1. 这可能是由于 mmdrawer 的导航控制器,为此您需要隐藏这些控制器的导航栏。

    [navigationController setNavigationBarHidden:YES];

    斯威夫特版本:

    navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: true)

    MMDrawer 具有三个用于中心、左右 VC 的导航控制器,因此根据您的使用情况,您可以隐藏您正在使用的导航控制器的导航栏。

  2. 这应该可以正常工作,正如您所说的那样,当您通过滑动屏幕打开视图时它可以正常工作,在我的情况下,这两种情况都可以正常工作。正如@Majster 所说“你可能在 viewDidLoad 中做了太多的初始化工作,这就是它有点滞后的原因。” 可能是这样。

  3. 您可以使用

    [drawerController setMaximumRightDrawerWidth:[UIScreen mainScreen].bounds.size.width/4];
    让抽屉占据屏幕的 1/4。

于 2015-04-30T07:45:33.627 回答