2016-08-31 4 views
2

バーボタンアイテム

ログイン従うよう私の画面の流れがある - >登録 - > CarDetails

画面上のすべての3は、ナビゲーションコントローラであるが、ユーザーが車から戻って行くことを許されていませんが - 登録の詳細。それを達成するために、私は、車詳細ビューコントローラで

override func viewWillAppear(animated: Bool) 
    { 
     self.navigationItem.setHidesBackButton(true, animated:true); 
    } 

を表示します。コントローラーがナビゲーションコントローラー内にある場合、自動的に作成される戻るボタンは表示されません。

これまでのところ良いです。

メニューをスライドさせてホームスクリーンにすべての詳細ユーザーの土地を提供した後。メニューから、ユーザーはCarDetail Screenに移動して(更新することもできます)。バックボタンの代わりに、左ボタンのボタンとしてスライドアウトメニューボタンが必要です。だから私はストーリーボードを使って作成しました。

問題は、登録ビューの後に表示されてしまうことです。私は車の詳細ビューでそれのための条件付きの表示/非表示の機能が必要です。

override func viewDidLoad() 
{ 
    super.viewDidLoad() 


    if menuButtonVisibility 
    { 

     if self.revealViewController() != nil 
     { 
      menuButton.target = self.revealViewController() 
      menuButton.action = "revealToggle:" 
      self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
     } 
    } 

    else 
    { 

    } 

    menuButtonVisibility=true 
} 

次私は他のブロックに入れるためにラインを必要とするよう

私は、同様にそれのためのフックをしました。

self.navigationItem.leftBarButtonItem = nil 

、あなたは、このように新しい左のボタンを追加することができます:

enter image description here

+0

[特定のユーザーのためのバーボタンアイテムを非表示にする方法](の可能性のある重複する前に私のrightBarButton

// viewDidLoad self.rightBarButtonAlert.isEnabled = false self.rightBarButtonAlert.tintColor = .clear 

を非表示にする素晴らしい作品http://stackoverflow.com/questions/27887218/how-to-hide-a-bar-button-item-for-certain-users) –

+0

何を得ているのですか?再生されます? "_問題は登録ビューの後でも表示されていることです._ –

答えて

3

あなたはこのようにそれを隠すことができ、私はそれが役に立てば幸い

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Button", style: .Plain, target: self, action: #selector(ViewController.buttonTapped)) 

を、

歓声

+0

そのような状況では、私はバーボタンを削除して追加する必要があります。私はそれを達成できる方法を知っています。しかし、より良いものを探しています。途中でありがとう。 –

+0

私の答えをrightBarButtonItemを試して、それがleftBarButtonItemで動作するかどうかを確認してください:http://stackoverflow.com/questions/3042818/hide-the-rightbarbuttonitem-of-a-navigation-controller/22617176#22617176 –

+0

アブエサもっと良い手段? – user3182143

4

あなたは

self.naivgationItem.rightBarButtonItem.enabled = false 
self.navigationItem.rightBarButtonItem.tintColor = UIColor.clearColor() 

が右またはあなたが好まどんなBarButtonItemを残し、それを行う、そのようにtintColor変更&ボタンを無効にすることにより、それを隠すことができます。それが役に立てば幸い。

1
for (UIBarButtonItem *item in self.navigationItem.rightBarButtonItems) { 
     item.width = -50; 
     item.enabled = false; 
    } 
+0

これは質問に対する答えを提供しません。批評をしたり、著者の説明を求めるには、投稿の下にコメントを残してください。 - [レビューの投稿](レビュー/低品質の投稿/ 13534705) – Sandy

+0

私は私の答えをチェックして、この問題をテストしたので、私はanwerを投稿する....なぜ私のアンサーは質問に答えないと思いますか? – Giang

+0

質問は、あなたの答えがそれを隠すことができない場所を隠すことについて尋ねています。理にかなっている? – Sandy

1

スイフト3.1 |後

enter image description here

enter image description here

関連する問題