2009-03-19 17 views
2

私はrootviewcontroller.mでやってるUIToolbarを追加する方法を知っている:私は他のビューにナビゲートするときUIToolbarや他のビュー

[self.navigationController.view addSubview:toolbar]; 

はしかし、ツールバーは、OKである、アップ状態のままそれを隠す/表示するにはどうすればアクセスできますか?

インサイドrootviewcontroller私はこの使用します。

toolbar.hidden = NO; 

をしかし、私は

はあなたが私にそれを隠した例を示してくださいすることができrootviewcontroller.mのこの外側を行うための方法を見つけるように見えることはできません別のクラスから?

答えて

3

2つのオプションがあります。

1)コントローラにプロパティを追加して、外部クラスがツールバーオブジェクトにアクセスできるようにします。

2)ルートビューコントローラに、ツールバーを操作するための機能を追加します。

#2は、外部クラスの機能を制限するので、#2をお勧めします。

など。

-(void) hideToolbar:(BOOL)hidden 
{ 
    toolbar.hidden = hidden; 
} 
2

問題は、self.navigationController.viewに追加しないでください。 self.viewに追加する必要があります。それを修正する必要があります。

-1

あなたが探しているのはAndrew Grantの答えです。ただし、コードを見たときに

-(void) isToolbarHidden:(BOOL)hidden { 
    toolbar.hidden = hidden; 

}

それはそのように、より理にかなっているにメソッドの名前を変更する必要があります。

+1

isToolbarHidden、そしてまだそれが何かを返すが、実際に隠された値を変更しないのですか?おそらくsetToolbarHidden ... – MrCranky

0

バーが表示されないようにするView Controllerの初期化中に、次の行を追加してみることができます。

[self.navigationController setToolbarHidden:YES animated:NO]; 

F.

関連する問題