按钮功能只能使用一次

时间:2015-11-28 06:43:39

标签: ios swift

我正在制作一个带有主视图控制器和菜单按钮的应用程序。通过单击按钮,会出现另一个视图控制器作为侧面菜单,然后用户可以选择返回上一个主视图控制器。但是,菜单按钮不再起作用。

主视图控制器的代码在这里(不是容器视图控制器):

@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
}

1 个答案:

答案 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
}

希望这会对你有所帮助。