【发布时间】:2016-02-05 18:48:49
【问题描述】:
我正在使用带有两个容器的滚动视图,以便将滑出菜单添加到我正在处理的选项卡式应用程序中。
应用程序启动时,如果用户已经登录,则显示主页面并初始关闭左侧滑动菜单。但是,如果用户没有登录并且必须通过登录按钮进入主页,则主页会显示菜单打开。我不知道如何关闭它。
在 mainViewController 中,这是最初用于关闭菜单的函数
func closeMenu(animated:Bool = true){
scrollView.setContentOffset(CGPoint(x: leftMenuWidth, y: 0), animated: animated)
}
在 viewDidLoad 中,我调用以下命令来初始关闭菜单
dispatch_async(dispatch_get_main_queue()) {
self.closeMenu(true)
}
我正在使用 NSNotifications 通过主页上的按钮来切换菜单的打开和关闭。所以我尝试在点击登录按钮时发布“toggleMenu”通知,但这不起作用
PFUser.logInWithUsernameInBackground(username!, password: password!) {
(user: PFUser?, error: NSError?) -> Void in
if user != nil {
print("successful login")
dispatch_async(dispatch_get_main_queue(), { () -> Void in
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ContainerHome")
self.presentViewController(viewController, animated: true, completion: nil)
NSNotificationCenter.defaultCenter().postNotificationName("toggleMenu", object: nil)
})
}
我是初学者,所以如果我遗漏了一些细节,我深表歉意。
提前感谢您提供的任何帮助。
【问题讨论】: