我正在制作一个带有主视图控制器和菜单按钮的应用程序。通过单击按钮,会出现另一个视图控制器作为侧面菜单,然后用户可以选择返回上一个主视图控制器。但是,菜单按钮不再起作用。
主视图控制器的代码在这里(不是容器视图控制器):
@objc
protocol CenterViewControllerDelegate {
optional func toggleLeftPanel()
optional func collapseSidePanels()
}
class CenterViewController: UIViewController {
@IBOutlet weak var titleLabel: UILabel!
var delegate: CenterViewControllerDelegate?
@IBAction func MenuTapped(sender: AnyObject) {
delegate?.toggleLeftPanel?()
}
// MARK: Button actions
}
答案 0 :(得分:1)
您必须使用bool标记来跟踪菜单的打开/折叠,如下所示:
@objc
protocol CenterViewControllerDelegate {
optional func toggleLeftPanel()
optional func collapseSidePanels()
}
class CenterViewController: UIViewController {
var _isMenuOpen = false
@IBOutlet weak var titleLabel: UILabel!
var delegate: CenterViewControllerDelegate?
@IBAction func MenuTapped(sender: AnyObject) {
if _isMenuOpen{
delegate?.toggleLeftPanel?()
_isMenuOpen = true
}
else{
delegate?.collapseSidePanels?()
_isMenuOpen = false
}
}
// MARK: Button actions
}
希望这会对你有所帮助。