有没有人对此方案有任何提示。
我的app delegate的nib将viewcontroller设置为rootviewcontroller,因此它会在应用程序加载时加载此视图控制器。
此viewcontroller有一个带有各种按钮的工具栏。这些按钮用于在不同的视图控制器之间切换。
我试过使用addChildViewController,presentViewController,presentModalViewController,什么都不允许我在视图控制器之间切换但是仍然保持工具栏可见。
如果我使用addSubView,那么所有的方向都是精神上的,我必须手动调整视图控制器的大小,这似乎不是我应该做的事情。
编辑:我想保持导航控制器的按钮可见,即使按下控制器,即如果我有一个编辑和删除按钮,我希望那些相同的按钮保留在工具栏上,即使我将不同的控制器推到堆栈上答案 0 :(得分:0)
听起来你应该使用标签栏。
或者,当按下工具栏按钮时,您应该使用带有工具栏的导航控制器和推/弹视图控制器:
请注意,如果您使用导航控制器,则无需显示导航栏。
//create first button
buttonOne = [[UIBarButtonItem alloc] initWithTitle:@"EDIT" style:UIBarButtonItemStyleBordered target:self action:@selector(editStuff)];
[buttons addObject:buttonOne];
//create second button
buttonTwo = [[UIBarButtonItem alloc] initWithTitle:@"DELETE" style:UIBarButtonItemStyleBordered target:self action:@selector(deleteStuff)];
[buttons addObject:buttonTwo];
// Add buttons to toolbar and toolbar to nav bar.
[buttonsToolbar setItems:buttons animated:NO];
[buttons release];
UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:buttonsToolbar];
self.navigationItem.leftBarButtonItem = twoButtons;
[twoButtons release];
答案 1 :(得分:0)
addSubview:
不允许使用辅助视图控制器,因此这并不理想。
您可以使用带有条形按钮的工具栏来切换视图控制器,但最简单的实现是在每个视图控制器的nib中使用相同的工具栏,并使视图控制器成为处理所有工具栏操作的超类的子类。
没有必要使用标签栏或导航栏,尽管其中任何一种方法在某种程度上都是一种更简单的方法(但在重要方面不太明显)。
答案 2 :(得分:0)
使用UITabBarController作为根控制器。它充当子视图控制器的父容器,提供选项卡栏并实现子视图之间的切换。查看class reference或View Controller Programming Guide