2015-01-11 10 views
12

設定バーボタンアイテム(左バーボタンアイテムとして設定)があります。私は、ユーザーがログインしている場合は、それを表示したい。特定のユーザーのバーボタンアイテムを非表示にする方法

私は

navigationItem.leftBarButtonItem = nil 

私は匿名ユーザーのために以下を使用できると思っていたしかし、その後どのように私は、すぐに彼らがログインとして表示でしょうか?

答えて

28

あなたはstrongプロパティにleftBarButtonItemのコピーを保存し、ユーザーがログインした後に戻ってそれを設定することができます。ロジック

if loggedIn 
{ 
    self.navigationItem.leftBarButtonItem = self.leftBarButtonItem 
} 
else 
{ 
    self.navigationItem.leftBarButtonItem = nil 
} 
3

var leftBarButtonItem : UIBarButtonItem! 

内部のviewDidLoad

self.leftBarButtonItem = UIBarButtonItem(title: "test", style:   UIBarButtonItemStyle.Plain, target: nil, action: nil) 

ベストウェイはイメージを持つあなたのBar buttomのカスタムです。 barbuttom.image = nilを非表示に設定すると、再度表示する画像が割り当てられます。そして、バーボタンisEnabledをfalseにするのを忘れないでください。

1

私は2つのmenuitemsを持っており、削除する/ menuitemを追加/削除するオーバーヘッドです。このコードスニペットは私のために働いた。

func showMenuItem(){ 

    menuItemQuit.customView?.isHidden = false 
    menuItemQuit.plainView.isHidden = false 
} 

func hideMenuItem(){ 

    menuItemQuit.customView?.isHidden = true 
    menuItemQuit.plainView.isHidden = true 
} 
0

あなたは/ショーUIBarButtonItemを非表示にする場合:スウィフト3簡単なコードの下に使用さ

について:

宣言:のviewDidLoadで

var doneButton = UIBarButtonItem() 

( )またはViewWillAppear()を使用するか、またはそれを隠す:[あなたのコード内の任意の場所を使用]

self.navigationItem.rightBarButtonItem = self.doneButton 
     doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: #selector(YourViewController.dismissPicker)) 
:[非表示バーボタン]あなたがバーボタンを表示したい

self.navigationItem.rightBarButtonItem = nil 

関連する問題