我目前有一个附有视图的窗口,它有三个UIButtons。当用户按下按钮时,我希望视图使用NavigationController更改为新视图。
所以现在我的约按钮编码如下:
UIButton *aboutButton = [UIButton buttonWithType:UIButtonTypeCustom];
aboutButton.frame = CGRectMake(236, 240, 60, 60);
[aboutButton setImage:[UIImage imageNamed:@"About.png"]
forState:UIControlStateNormal];
[aboutButton addTarget:self action:@selector (aboutButtonPressed)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:aboutButton];
对于动作功能:
-(void)aboutButtonPressed {
UINavigationController *aboutView =[[UINavigationControlleralloc] initWithNibName:@"About" bundle:nil];
[self.navigationController pushViewController:aboutView animated:YES];
[self.view addSubview:aboutView.view];
[aboutView release];
}
About.xib文件目前没有任何内容。
现在问题...当按下按钮时,顶部导航栏出现在顶部,但不是像我编码的动画一样。它只是弹出。此外,没有后退按钮可以通过按钮返回到视图。我究竟做错了什么?如果不够清楚,我可以提供更多代码或细节。
编辑:这是一张图片,可以更好地了解正在发生的事情。
点击“关于”按钮后:
http://dl.dropbox.com/u/1481176/Screen%20shot%202010-12-09%20at%2011.28.40%20AM.png
编辑2:删除了一些不应该存在的后退按钮的代码。
答案 0 :(得分:1)
pushViewController之后的大多数代码看起来很狡猾。
-(void)aboutButtonPressed {
AboutViewController *aboutView =[[AboutViewController **alloc**] initWithNibName:@"About" bundle:nil];
[self.navigationController pushViewController:aboutView animated:YES];
[aboutView release];
}
这应该至少将你的空视图推到堆栈上并自动给你一个后退按钮。