我开发的应用程序最初选择基于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
方法未显示时。
提前感谢。
答案 0 :(得分:0)
您好直接将视图添加到窗口,它的高度可能是480像素? 这意味着您将使用carnivalWheelView覆盖navigationController。
CarnivalWheel应该是UIViewController的子类,然后你应该把它添加到navigationController而不是窗口。
CarnivalWheel *cw = [[CarnivalWheel alloc] init];
[self.navigationController pushViewController:cw animated:YES];
[cw release];
现在CarnivalWheel是navigationController的“孩子”,不会用它的视图来覆盖它。