应用程序推送到后台后,UINavigationViewContoller的rightBarButtonItem会消失吗?

时间:2011-06-15 13:55:54

标签: iphone objective-c ios4

我在rightBarButtonItem viewcontroller下添加了viewWillAppear。它正确地显示了按钮。

- (void)viewWillAppear:(BOOL)animated {

UIBarButtonItem *addBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add_Clicked:)];
self.navigationItem.rightBarButtonItem = addBarButtonItem;
}

但是一旦我在后台推送应用程序并将其(applcation)带到前台,rightBarButtonItem得到了diappear?

我调试了viewWillAppear一旦应用程序带回到forground并且上面的代码行也被执行,但是那时按钮也没有出现。

2 个答案:

答案 0 :(得分:0)

仅当您将视图推送到堆栈时才会调用

viewWillAppear

将代码放入viewDidLoad

当您的应用程序发送到后台时,将调用viewDidUnload以减少内存。 但正确的是,您的观点已经显示,它不会调用viewWillAppear

答案 1 :(得分:0)

刚刚在一个新的基于导航的项目中对此进行了测试,我无法重现这一点。

您可以尝试的一件事是调用[super viewWillAppear:animated];或检查,如果您将rightBarButtonItem设置为其他位置的nil。