2011-01-29 131 views
4

我有一個基於UINavigationController的iPhone應用程序,底部有一個UIToolbar,其中包含通過Interface Builder創建的各種按鈕。當我使用[navigationController pushViewController:animated:]時,我的新視圖像預期的那樣滑動到位,但隨後所有按鈕都從工具欄中消失 - 工具欄本身保持可見狀態,只是完全空了。將新視圖導入導航堆棧時,UIToolbar按鈕消失

如何讓按鈕保持放?

此處,我給用戶按下工具欄按鈕則顯示了新視圖的一個響應位:

- (IBAction)clickSettings:(id)sender { 
    NSLog(@"Clicked on 'Settings' button"); 

    SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"Settings" bundle:nil]; 
    [navigationController pushViewController:settingsViewController animated:YES]; 
} 

回答

4

工具欄按鈕是給定視圖的財產;當您將新視圖推入導航堆棧時,新視圖的工具欄按鈕將滑入到位。

工具欄本身似乎「屬於」導航控制器;工具欄的可見性由UINavigationController的toolbarHidden屬性控制,即

self.navigationController.toolbarHidden = YES; 
2

要真正從一個視圖保持工具欄旁邊,您可以toolbarItems財產從一個UIView下一個複製。