2011-01-29 95 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下一个复制。