我有一些问题。我在swift4中制作了侧边菜单。
当我点击按钮时,侧面菜单出现并消失。
但是我想要没有按钮的消失侧菜单。
例如,当我点击另一个视图(不是侧面菜单)时,消失了侧面菜单。我的代码是这样的。
class ContainerVC: UIViewController {
@IBOutlet weak var constaint: NSLayoutConstraint!
var sideMenuOpen = false
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(toggleSideMenu), name: NSNotification.Name("ToggleSideMenu"), object: nil)
}
@objc func toggleSideMenu(){
if sideMenuOpen {
sideMenuOpen = false
constaint.constant = -130
}else {
sideMenuOpen = true
constaint.constant = 0
}
UIView.animate(withDuration: 0.3){
self.view.layoutIfNeeded()
}
}
当我点击白色背景(视图)时,消失侧边菜单。 感谢。
答案 0 :(得分:0)
您可以使用类似的代码,请在viewDidLoad()
中添加以下代码let tap = UITapGestureRecognizer(target: self, action: #selector(dismiss(fromGesture:)))
self.view.addGestureRecognizer(tap)
然后创建一个解雇函数
@objc func OpenSideMenu(){
sideMenuOpen = true
constaint.constant = 0
UIView.animate(withDuration: 0.3){
self.view.layoutIfNeeded()
}
}
@objc func closeSideMenu(){
sideMenuOpen = false
constaint.constant = -130
UIView.animate(withDuration: 0.3){
self.view.layoutIfNeeded()
}
}
@objc func dismiss(fromGesture gesture: UISwipeGestureRecognizer) {
closeSideMenu()
}
希望这会奏效。