NavigationController和ToolBar问题

时间:2012-04-18 04:21:43

标签: iphone ios user-interface uiviewcontroller uitoolbar

我有一个带两个视图的导航控制器。第一个视图是一个带有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

任何帮助将不胜感激。感谢

2 个答案:

答案 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];