如何正确配置 MMDrawerController
How to configure MMDrawerController properly
我正在使用 MMDrawerController
在我的 iOS 应用程序中创建幻灯片菜单。菜单运行良好,但我遇到了一些麻烦。我的菜单是 ViewController
和 TableView
以及非常轻的 4 个自定义单元格。
- 我的应用程序现在有顶部栏 - 我不知道如何关闭它。
我有显示菜单的按钮。当我用手指在屏幕上滑动打开菜单时,菜单看起来很好,但是当我第一次使用 运行 应用程序并按下此按钮时,菜单打开时会出现一些视觉延迟。似乎菜单没有完全加载 - 所以它首先显示在屏幕顶部附近,然后在适当的位置下降。只有在我第一次使用按钮打开菜单时才会发生这种情况。这是动作。
@IBAction func showMenu(sender: AnyObject)
{
var appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer?.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
}
如何设置菜单的宽度?我的菜单很宽,也许可以定制小一些。
要隐藏状态栏,您可以使用
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
或swift版本
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
您可能在 viewDidLoad
中做了太多初始化工作,这就是它有点滞后的原因。
您可以使用
@property (nonatomic, assign) CGFloat maximumLeftDrawerWidth;
属性设置最大宽度。
可能是mmdrawer的navigation controller问题,需要隐藏这些controller的navigation bar
[navigationController setNavigationBarHidden:YES];
Swift版本:
navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: true)
MMDrawer 有三个导航控制器用于中心、右侧和左侧 VC,因此根据您的使用情况,您可以隐藏您正在使用的导航控制器的导航栏。
这应该可以正常工作,正如您所说,当您通过滑动屏幕打开视图时它可以正常工作,在我的情况下,这两种情况都可以正常工作。正如@Majster 所说 "You probably do too much init stuff in the viewDidLoad and that's why it lags a bit." 可能是这样。
您可以使用
[drawerController setMaximumRightDrawerWidth:[UIScreen mainScreen].bounds.size.width/4];
抽屉获得屏幕的 1/4。
我正在使用 MMDrawerController
在我的 iOS 应用程序中创建幻灯片菜单。菜单运行良好,但我遇到了一些麻烦。我的菜单是 ViewController
和 TableView
以及非常轻的 4 个自定义单元格。
- 我的应用程序现在有顶部栏 - 我不知道如何关闭它。
我有显示菜单的按钮。当我用手指在屏幕上滑动打开菜单时,菜单看起来很好,但是当我第一次使用 运行 应用程序并按下此按钮时,菜单打开时会出现一些视觉延迟。似乎菜单没有完全加载 - 所以它首先显示在屏幕顶部附近,然后在适当的位置下降。只有在我第一次使用按钮打开菜单时才会发生这种情况。这是动作。
@IBAction func showMenu(sender: AnyObject) { var appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate appDelegate.centerContainer?.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil) }
如何设置菜单的宽度?我的菜单很宽,也许可以定制小一些。
要隐藏状态栏,您可以使用
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
或swift版本
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
您可能在
viewDidLoad
中做了太多初始化工作,这就是它有点滞后的原因。您可以使用
@property (nonatomic, assign) CGFloat maximumLeftDrawerWidth;
属性设置最大宽度。
可能是mmdrawer的navigation controller问题,需要隐藏这些controller的navigation bar
[navigationController setNavigationBarHidden:YES];
Swift版本:
navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: true)
MMDrawer 有三个导航控制器用于中心、右侧和左侧 VC,因此根据您的使用情况,您可以隐藏您正在使用的导航控制器的导航栏。
这应该可以正常工作,正如您所说,当您通过滑动屏幕打开视图时它可以正常工作,在我的情况下,这两种情况都可以正常工作。正如@Majster 所说 "You probably do too much init stuff in the viewDidLoad and that's why it lags a bit." 可能是这样。
您可以使用
抽屉获得屏幕的 1/4。[drawerController setMaximumRightDrawerWidth:[UIScreen mainScreen].bounds.size.width/4];