如何对另一个按钮隐藏按钮 class
How to hide a button from another class
所以我有一个视图,它有一个带两个按钮的导航栏。我想知道是否可以从另一个 class 中选择是否要显示这些按钮?
我的意思是,当您在 RecentsVC 中并单击以发送新消息时,我会将您带到名为“联系人”的视图。该视图有两个按钮,我想隐藏其中一个。因此,在用于单击以发送新消息的 IBAction 中,我想设置 属性 以隐藏其中一个按钮。
在 Contacts
中有一个布尔变量,并在 RecentsVC
class 的 prepare(for segue: )
方法中设置该变量的值。然后使用该布尔值来测试 Contacts
是否应该隐藏导航栏按钮项目。
class RecentsVC: UIViewController {
override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "sendMessage") { // If there's only one segue from this view controller, you can remove this line
let vc = segue.destination as! Contacts
vc.buttonIsHidden = true
} // If you removed the if, don't forget to remove this, too
}
}
class Contacts: UIViewController {
var buttonIsHidden: Bool?
override func viewDidLoad() {
super.viewDidLoad()
if buttonIsHidden == true {
self.navigationItem.leftBarButtonItem = nil
}
}
}
所以我有一个视图,它有一个带两个按钮的导航栏。我想知道是否可以从另一个 class 中选择是否要显示这些按钮? 我的意思是,当您在 RecentsVC 中并单击以发送新消息时,我会将您带到名为“联系人”的视图。该视图有两个按钮,我想隐藏其中一个。因此,在用于单击以发送新消息的 IBAction 中,我想设置 属性 以隐藏其中一个按钮。
在 Contacts
中有一个布尔变量,并在 RecentsVC
class 的 prepare(for segue: )
方法中设置该变量的值。然后使用该布尔值来测试 Contacts
是否应该隐藏导航栏按钮项目。
class RecentsVC: UIViewController {
override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "sendMessage") { // If there's only one segue from this view controller, you can remove this line
let vc = segue.destination as! Contacts
vc.buttonIsHidden = true
} // If you removed the if, don't forget to remove this, too
}
}
class Contacts: UIViewController {
var buttonIsHidden: Bool?
override func viewDidLoad() {
super.viewDidLoad()
if buttonIsHidden == true {
self.navigationItem.leftBarButtonItem = nil
}
}
}