2011-10-21 17 views
9

私はIBで簡単なUIを作成しました。これはUINavigationBarUIBarButtonItemで構成され、右側にドラッグアンドドロップしました。UIBarButtonItemを隠すにはどうしたらいいですか?

このボタンを一定時間隠すように設定しようとしていますが、いくつか問題があります。これまでのところ、私が使用して試してみました

:私のために動作しませんでした

self.NavigationItem.rightBarButton = nil; 

...。私はまた、IBOutletを作成してボタンにリンクしてみましたが、これも問題があります。私はそれはかなりシンプルでなければならないと思うし、多分私はそれを複雑にしていると思うが、この時点で私はかなり困惑している!

誰かが私を助けてくれますか?

+0

NavigationItemコンセントが設定されていることを確認してください。 – logancautrell

答えて

25

UINavigationItemは、rightBarButtonプロパティを持っていません。代わりにrightBarButtonItem(または[self.navigationItem setRightBarButtonItem:nil animated:NO];)を試してみてください。

self.navigationController.navigationItem.rightBarButtonItem = nil; 
// Or 
self.navigationItem.rightBarButtonItem = nil; 
// Or 
[self.navigationItem setRightBarButtonItem:nil animated:NO]; 
1

ジャストボタン

-(void)setItems:(NSArray *)items animated:(BOOL)animated 
をリセットし、ここで

さらに詳しい情報:http://developer.apple.com/iphone/library/documentation/uikit/reference/UIToolbar_Class/Reference/Reference.html#//apple_ref/occ/instm/UIToolbar/setItems%3aanimated%3a

あなたはアイテムのプロパティを使用して現在の項目を取得し、その後、単に削除することができます表示して新しいNSArrayを渡したくないものです。

0

UIButtonをUIBarButtonItemのcustomViewとして追加することもできます。次に、customView(UIButton)のhiddenプロパティを設定します。

0

ボタンのボタン項目を削除してボタンを破棄するのではなく、ストーリーボードのSegueを削除するのではなく、無効になったときにクリアテキストに設定できます。

[self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor clearColor]} 
                 forState:UIControlStateDisabled]; 

は、その後、あなたがバーボタンアイテムが隠されてほしいと思うとき、あなただけ行うことができます。

self.navigationItem.rightBarButton.enabled = NO; 

をそれには隠されたプロパティがありませんラメですが、これは、同じ結果を提供しています。

0

実は、あなただけの希望UIBarButtonItemにIBOutlet参照を作成することができ、必要なときだけ、次のように実行します。

[self.yourOutletRerence setImage: nil]; 
0

最も簡単な解決方法:だけのカスタムにBarButtonItemの識別子を変更します。

関連する問題