这是storyviews中的controllerviews结构:
[tableviewcontroller] [tableviewcontroller] [FilterMenuController]
| |
[navigationcontroller] [navigationcontroller]
| |
[tabbarcontroller]
现在在第二个tableview控制器中,我有以下代码在叠加过滤器菜单视图中显示幻灯片。哪个将在TabbarController上。
- (IBAction)didPushFiterButton:(UIBarButtonItem *)sender {
FilterMenuTableViewController *tlc = [self.storyboard instantiateViewControllerWithIdentifier:@"FilterMenuController"];
[tlc.view setFrame:CGRectMake(320, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.tabBarController addChildViewController:tlc];
[self.tabBarController.view addSubview:tlc.view];
[tlc didMoveToParentViewController:self];
[UIView animateWithDuration:0.3 animations:^{
[tlc.view setFrame:CGRectMake(40, 0, self.tabBarController.view.frame.size.width, self.tabBarController.view.frame.size.height)];
}];
}
现在,我希望如果在过滤器视图中按下按钮,过滤器视图将会消失,并且将重新加载tableview。我写了一个自定义的segue。但真的搞砸了。 tableview没有重新加载,导航栏和tabbar都丢失了。
你能告诉我如何写这个segue吗?或者如何做到这一点?
谢谢。
答案 0 :(得分:0)
刚刚解决了这个问题。希望它可以帮助别人。
基本上,我不应该尝试使用segue来解决这个问题。 Delegate
应该是治愈方法。
因此,将表视图控制器设置为FilterViewController
的委托。按下FilterViewController
内的按钮时。 TableViewController
中的委托方法将删除filterView
并重新加载数据。