如何隐藏某些用户的酒吧button项目
我有一个设置栏button项目(设置为左栏button项目)。 我只想显示它,如果用户login。
我以为我可以使用以下匿名用户
navigationItem.leftBarButtonItem = nil
但是,一旦他们login,我将如何显示它?
您可以将leftBarButtonItem的副本存储在strong
属性中,并在用户login后将其设置回来。
var leftBarButtonItem : UIBarButtonItem!
里面的viewDidLoad
self.leftBarButtonItem = UIBarButtonItem(title: "test", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
在逻辑上
if loggedIn { self.navigationItem.leftBarButtonItem = self.leftBarButtonItem } else { self.navigationItem.leftBarButtonItem = nil }
最好的方法就是自定义你的酒吧buttom与图像。 设置barbuttom.image = nil
再次隐藏分配图像显示。 并且不要忘记使barbutton被启用为false。
我有更多的2 menuitems和删除/添加menuitem是一个开销。 此代码片段为我工作。
func showMenuItem(){ menuItemQuit.customView?.isHidden = false menuItemQuit.plainView.isHidden = false } func hideMenuItem(){ menuItemQuit.customView?.isHidden = true menuItemQuit.plainView.isHidden = true }
如果你想隐藏/显示UIBarButtonItem:对于Swift 3
使用下面的简单代码:
宣言 :
var doneButton = UIBarButtonItem()
在ViewDidLoad()或ViewWillAppear()或你想隐藏它的地方:[hide bar button]
self.navigationItem.rightBarButtonItem = nil
你想在哪里显示栏button:[在你的代码中使用任何地方]
self.navigationItem.rightBarButtonItem = self.doneButton doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: #selector(YourViewController.dismissPicker))