NavigationBar拼图

时间:2011-06-13 18:05:42

标签: iphone objective-c xcode4

我有2个观看次数。第一个视图是superview,顶部有一个navigationBar。在我的第一个视图中,有一个按钮具有此方法:

-(IBAction)openView:(id)sender{


[self.navigationController setNavigationBarHidden:YES animated:NO];

view1 = [[ImageView alloc] init];
view1.largeImageDataTwo = self.aNewsInfo.largeImageData;
view1.titleTwo = self.aNewsInfo.title;

[self.view addSubview:view1.view];}

此操作会打开view1,顶部没有导航栏。 (正如我想的那样)

并且在此特定页面(View1)上我有另一个使用此方法的按钮

-(IBAction)back:(id)sender{
[d1.navigationController setNavigationBarHidden:NO animated:NO];
[self.view removeFromSuperview];}

此方法将我返回到我的第一个视图(d1),但这次当我返回第一个视图时没有导航栏,但是当我从第二个视图返回时,我想要在第一个视图上返回导航栏。

我该怎么做?从第二个视图返回时如何从第一个视图获取navigationBar?

提前致谢

1 个答案:

答案 0 :(得分:0)

在第一个视图中,在viewWillAppear:方法中,尝试拨打[self.navigationController setNavigationBarHidden:NO animated:NO]

在第二个视图中,在您致电removeFromSuperview后,可能必须致电[d1 viewWillAppear:YES]。我不确定这是否被视为“最佳做法”,但您可能需要强制执行此操作,因为removeFromSuperview可能无法自动调用超级视图的viewWillAppear:方法(就像其他一些更改视图的方法一样)层次结构。)