UINaviagtionBar不显示?

时间:2010-05-24 09:03:54

标签: iphone

我开发的应用程序最初选择基于UINavigationController的应用程序。 在rooViewController xib中我添加了两个UIView,代码编写如下。

@implementation RootViewController
@synthesize introductionView, WheelView;

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.navigationController setNavigationBarHidden:YES];
}

#pragma mark 
#pragma mark strart up screen:

-(void)startIntroductionScreen{
    if(window == nil) {
        window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    }
    [window addSubview: introductionView];
    [window makeKeyAndVisible]; 
}

-(void)WheelScreen{
    [window addSubview:carnivalWheelView];
    [window makeKeyAndVisible]; 
    self.navigationController.navigationBar.hidden = NO;    
    [self.navigationItem setLeftBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"Setting" style:UIBarButtonItemStylePlain target:nil action:nil] animated:YES];
}

#pragma mark 
#pragma mark IBAction:

-(IBAction)breakGlass:(id)sender{
    [self startIntroductionScreen];
}

-(IBAction)anotherView:(id)sender{
    [self WheelScreen];
}

在上面的代码中,当-(void)WheelScreen另一个调用IBAction的视图上的UINaviagtionBar方法未显示时。

提前感谢。

1 个答案:

答案 0 :(得分:0)

您好直接将视图添加到窗口,它的高度可能是480像素? 这意味着您将使用carnivalWheelView覆盖navigationController。

CarnivalWheel应该是UIViewController的子类,然后你应该把它添加到navigationController而不是窗口。

CarnivalWheel *cw = [[CarnivalWheel alloc] init];
[self.navigationController pushViewController:cw animated:YES];
[cw release];

现在CarnivalWheel是navigationController的“孩子”,不会用它的视图来覆盖它。