初始化UInavigationbar

时间:2011-07-01 20:25:22

标签: xcode uinavigationcontroller

我在制作带有导航栏或控制器的桌面视图时遇到问题。

我有这段代码,

- (void)viewDidLoad {
    [super viewDidLoad];

    UINavigationController *addNavCon = [[UINavigationController alloc]initWithNibName:@"Welcome" bundle:nil];
    self.navigationItem.rightBarButtonItem = self.addButtonItem;
    self.navigationItem.leftBarButtonItem = self.editButtonItem;




    [self createEditableCopyOfDatabaseIfNeeded];    

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:UIApplicationWillTerminateNotification object:nil];

    NSString *documentDirectory = [self applicationDocumentsDirectory];
    NSString *path = [documentDirectory stringByAppendingPathComponent:@"notebook.plist"];

    NSMutableArray *tmpArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
    self.Notes = tmpArray;
    [tmpArray release];



}

但是,导航栏永远不会显示,而表格却很好。我可以知道代码有什么问题吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

您已创建UINavigationController的实例,但从未将其添加到任何内容中。您需要将其添加到当前层次结构中,否则它将不会出现。

如果您希望将navController添加到整个应用程序,那么您应该在App Delegate中执行此操作

- (void)applicationDidFinishLaunching:(UIApplication *)application

{

    UIViewController *rootController = [[MyRootViewController alloc] init];

    UINavigationController *navigationController = [[UINavigationController alloc]

                                initWithRootViewController:rootController];

    [rootController release];



    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    [window addSubview:navigationController.view];

    [window makeKeyAndVisible];

}