我有一个带两个视图的导航控制器。第一个视图是一个带有TableView的ViewController,第二个视图是带有一些UILabel和UIWebView的UIView。从TableView中选择单元格时,导航控制器将推送到第二个视图。
我已经将UIToolBar添加到导航控制器和一些按钮。
我的问题是当导航控制器推送到第二个视图(UIView)时,我的UIToolBar会出现但没有按钮。
我想显示不同的按钮或从第二个视图中删除UIToolBar。 我想我需要在AppDelegate中做一些事情,我只是不确定是什么以及如何。
以下是我的XIBS外观:
MainWindow
- App Delegate
- Window
- Navigation Controller
-- Navigation Bar
-- ToolBar
-- View Controller
--- Bar Button Item
--- Navigation Item
---- Bar Back Item
ViewController
-TableView
DetailView
-View
--Web View
--Label
--Label
代码:
AppDelgate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
UIWindow *window;
UINavigationController *navigationController;
UIToolbar *toolBar;
}
@property (nonatomic, strong) IBOutlet UIWindow *window;
@property (nonatomic, strong) IBOutlet UINavigationController *navigationController;
@property (nonatomic, strong) IBOutlet UIToolbar *toolBar;
@end
AppDelegate.m
@implementation AppDelegate
@synthesize window;
@synthesize navigationController;
@synthesize toolBar;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
- (void)applicationWillTerminate:(UIApplication *)application {
// Save data if appropriate
}
@end
任何帮助将不胜感激。感谢
答案 0 :(得分:2)
您必须为加载到堆栈的每个View指定toolBarItems。所以,
-(void)viewDidLoad{
[self setToolbarItems:myArrayOfItems];
//do this in every view controller
//other code.
}
答案 1 :(得分:0)
我无法清楚地告诉你。我建议这个假设。如果您想在nextview的顶部栏中添加按钮,则不要使用工具栏。您可以在导航栏中添加按钮。 您可以使用addsubview方法添加按钮。 使用initwithframe初始化UI按钮。然后将其添加为导航控制器的子视图。 [navigationcont addsubview:button];