我通过分配self view
来推动。self.navigationcontroller
我有tableView
这个观点,所以我正在更改tableview
. 但是当我按下后退按钮(自动创建)时,我无法显示previous content
. 它显示更新的内容。
请建议。
我通过分配self view
来推动。self.navigationcontroller
我有tableView
这个观点,所以我正在更改tableview
. 但是当我按下后退按钮(自动创建)时,我无法显示previous content
. 它显示更新的内容。
请建议。
您不会将 UIView 实例推送到 UINavigationController 实例上,只有 UIViewController 的实例。
根据@Kirti 帖子的评论,您可以viewcontroller
通过以下方法检查您是否被弹出,并为您的控制器持有表采取一些必要的措施。
-(void) viewWillDisappear:(BOOL)animated
{
if(![self.navigationController.viewControllers containsObject:self])
{
YourControllerWithTable *instance = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count - 1];
instance.loadOldContent = YES;
}
}
在viewWillAppear:
中YourControllerWithTable
,您可以检查:
-(void) viewWillAppear:(BOOL)animated
{
if(loadOldContent)
{
//Do your work here
}
}
您在 viewWillAppear 方法中设置代码
- (void)viewWillAppear:(BOOL)animated
{
//code set here
}
如果您将tableView's
数据填入viewWillAppear
:或viewDidAppear
:,即使您只按顶部的后退按钮,它也会重新加载viewController
。如果您不想更改内容,则应该使用initWithNibName
: 或viewDidLoad
: 方法。它们仅在视图创建时被调用。