伙计们。我在寻求帮助。这似乎是一个很容易的任务,但我可以解决一整天。我正在尝试使用容器视图创建侧边菜单。当用户按下更多按钮(barButtonItem)时,整个视图向右滑动并出现菜单表。我知道如何使用通知来制作它。但我想通过委托来解决它。这是我的故事板。 在此处输入图像描述
和代码:
import UIKit
class RootViewController: UIViewController, SideMenuDelegate {
@IBOutlet weak var leading: NSLayoutConstraint!
var sideMenuIsOpen = false
var sideMenu: MainViewController?
override func viewDidLoad() {
super.viewDidLoad()
sideMenu?.delegate = self
}
func openSideMenu() {
toggleSideMenu()
}
func toggleSideMenu() {
if sideMenuIsOpen {
leading.constant = 0
} else {
leading.constant = 240
}
}
}
和:导入 UIKit
protocol SideMenuDelegate {
func openSideMenu()
}
class MainViewController: UIViewController {
var delegate: SideMenuDelegate?
@IBAction func toggleSideMenu(_ sender: UIBarButtonItem) {
if let delegateUnwrapped = delegate {
delegateUnwrapped.openSideMenu()
} else {
print("nil")
}
}
override func viewDidLoad() {
super.viewDidLoad()
BackgroundImageView.createBackground(insideView: self, image: .mainViewBackground)
}
}
谢谢!