我通过分配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: 方法。它们仅在视图创建时被调用。