ios - 隠す - uibarbuttonitem 透明




特定のユーザーに対してバーボタン項目を非表示にする方法 (3)

設定バーボタン項目(左バーボタン項目として設定)があります。 ユーザーがログインしている場合にのみ表示します。

私は私が匿名ユーザーのために以下を使うことができると思いました

navigationItem.leftBarButtonItem = nil

しかし、それなら彼らがログインしたらすぐにそれをどのように見せるでしょうか?


UIBarButtonItemを非表示/表示したい場合:Swift 3用

単純なコードの下で使用されます。

宣言:

var doneButton = UIBarButtonItem()

ViewDidLoad()またはViewWillAppear()、またはそれを非表示にしたい場所:[バーを隠すボタン]

self.navigationItem.rightBarButtonItem = nil

あなたがバーボタンを表示したい場所:[あなたのコードのどこにでも使う]

self.navigationItem.rightBarButtonItem = self.doneButton
        doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: #selector(YourViewController.dismissPicker))

leftBarButtonItemのコピーをstrongプロパティに格納し、ユーザーがログインした後にそれを更新することができます。

var leftBarButtonItem : UIBarButtonItem!

内側viewDidLoad

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

論理的には:

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

私は2つ以上のメニューアイテムを持っていて、削除/追加メニューアイテムはオーバーヘッドです。 このコードスニペットは私にとって役に立ちました。

func showMenuItem(){

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

func hideMenuItem(){

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




uibarbuttonitem