2010-11-25 36 views
1

私はnavigationControllerを持つUIViewControllerを持っていますが、私は戻るボタンを隠しています。これは、他のUIViewControllerを押しViewControllerを、この新しいのViewControllerののviewDidLoadで、私が行います戻るボタンがnavigationControllerに表示されない

self.navigationItem.hidesBackButton = FALSE; 

しかし、戻るボタンはhappearしません。どうして?最新のバージョンではすべてうまく動作するので、これはiOS 4.2用の新しいXcodeバージョンに合格すると機能しません。

+0

a)ビューコントローラーをプッシュするために使用するコードと、b) 'viewDidLoad:あなたは次のことを行う必要がありました:あなたの新しいビューコントローラで。 – Fred

答えて

8

(ナビゲーションバーの)前のnavigationControllerのタイトルはありますか?場合によっては、タイトルがない場合は、最初の戻るボタンが自動的に非表示になります。

+0

これは「正しい」回答です.iOS 3.xは「バグ」です。これについては後のiOSバージョンと矛盾しています。それでもiOS 3.xでは、戻るボタンは見えませんが、どこにすべきかを確認しようとすると実際に戻ってきます。この種のことは、これが実際にiOS 3.xのインターフェースの不具合/バグであったと言います... – Jonny

1

私はSyoleenに同意する傾向があります。ナビゲーションコントローラーに設定されたタイトルテキストを持っている必要があります。表示したくない場合はタイトルを@ ""(その間のスペース)に設定できますそれでもアクティブにしておきます。

+0

私はこのトリックを間違った方法で見つけました。しかし、私はそれを使用することをお勧めしませんユーザーは、iPhoneのインターフェイスの直感性を失うため。 –

3

あなたがInterface Builderのを使用している場合は、IBで、明確にするために...ナビゲーションコントローラに接続されたビューコントローラ内のナビゲーションアイテムのオブジェクトをチェックしてください。

ナビゲーションコントローラを||何かコントローラを見るナビゲーション項目

[属性]タブのインスペクタには、[戻るボタン]という名前のテキストフィールドが必要です。これに "Back"のようなものがあることを確認してください。

最初のViewControllerにリストされた後は、スタック全体に伝播します。

+1

戻るボタンのタイトルをプログラムで設定することもできます。 –

2

まあ、私は同じ問題がiOS 4.2を実行していた。戻るボタンは表示されません。ランドスケープに自動再生すると、それが表示されます。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    checkHolder.image = anImage; 
    self.navigationItem.hidesBackButton = YES; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    self.navigationItem.hidesBackButton = NO; 
} 
+0

私はiOS 4.2で同じ問題を抱えていました。 iOS 4.3〜5.0ではこのハックは必要ありません。私は4.2未満のiOSでテストしていないので、この問題が4.2に排他的かどうかはわかりません。 – JoJo

関連する問題