调用方法的按钮动作
button action to call a method
我在 iOS 开发方面还很陌生,正在寻求您的建议。
我正在 GitHub 查看一个项目。
我想添加一些功能。我想添加一个按钮来显示 SideMenu 并可能隐藏它。
sideMenu 是 class SideMenu 的实例,它是在 ViewDidLoad
方法中创建的。如何使用按钮的操作方法调用 sideMenu.toggleMenu(true) 方法。
class HomeViewController: UIViewController, SideMenuDelegate {
@IBAction func menuButtonTapped(_ sender: Any) {
sideMenu.toggleMenu(open: true)
}
override func viewDidLoad() {
super.viewDidLoad()
let sideMenu = SideMenu(menuWidth: 200 , menuItemTitles: ["", "", "Profile", "Settings", "Restaurant"], parentViewController: vviewController)
sideMenu.menuDelegate = self
}
我的按钮是使用故事板创建的,这就是为什么我不能将它添加到 viewDidLoad
中的原因。
理论上我可以在 ViewDidLoad 中以编程方式创建按钮。这是唯一的解决方案吗?
问题与您的按钮或声明按钮的位置无关。
sideMenu
在您的代码中是 viewDidLoad
的常量并且 IBAction
.
无法访问
将您对 sideMenu
的定义移到方法之外并使其成为可选的:
var sideMenu:SideMenu?
在 viewDidLoad
中将其设置为您当前的状态(删除 let)
sideMenu = SideMenu(...
在 IBAction
中,解包可选的以使用它:
if let sideMenu = sideMenu {
// do what you need with sideMenu
else {
// handle error sideMenu not initialised properly
}
请参阅 vacawama 对替代方案的评论。
我在 iOS 开发方面还很陌生,正在寻求您的建议。
我正在 GitHub 查看一个项目。
我想添加一些功能。我想添加一个按钮来显示 SideMenu 并可能隐藏它。
sideMenu 是 class SideMenu 的实例,它是在 ViewDidLoad
方法中创建的。如何使用按钮的操作方法调用 sideMenu.toggleMenu(true) 方法。
class HomeViewController: UIViewController, SideMenuDelegate {
@IBAction func menuButtonTapped(_ sender: Any) {
sideMenu.toggleMenu(open: true)
}
override func viewDidLoad() {
super.viewDidLoad()
let sideMenu = SideMenu(menuWidth: 200 , menuItemTitles: ["", "", "Profile", "Settings", "Restaurant"], parentViewController: vviewController)
sideMenu.menuDelegate = self
}
我的按钮是使用故事板创建的,这就是为什么我不能将它添加到 viewDidLoad
中的原因。
理论上我可以在 ViewDidLoad 中以编程方式创建按钮。这是唯一的解决方案吗?
问题与您的按钮或声明按钮的位置无关。
sideMenu
在您的代码中是 viewDidLoad
的常量并且 IBAction
.
将您对 sideMenu
的定义移到方法之外并使其成为可选的:
var sideMenu:SideMenu?
在 viewDidLoad
中将其设置为您当前的状态(删除 let)
sideMenu = SideMenu(...
在 IBAction
中,解包可选的以使用它:
if let sideMenu = sideMenu {
// do what you need with sideMenu
else {
// handle error sideMenu not initialised properly
}
请参阅 vacawama 对替代方案的评论。