iOS 在叠加视图中从幻灯片自定义转场 return

iOS custom segue return from slide in overlay view

这是故事板中控制器视图的结构:

[tableviewcontroller]   [tableviewcontroller]    [FilterMenuController]
      |                           |
[navigationcontroller] [navigationcontroller]
               |         |
         [tabbarcontroller] 

现在在第二个表视图控制器中,我有以下代码在叠加过滤器菜单视图中显示幻灯片。这将结束 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)];
    }];

}

现在,我希望如果在 过滤器视图 中按下 按钮 ,过滤器视图将会消失,而表格视图将会重新加载。我写了一个自定义segue。但是真的很乱。要么 tableview 没有重新加载,要么导航栏和标签栏丢失。

你能告诉我如何写这个 segue 吗?或者如何实现?

谢谢。

刚刚解决了这个问题。希望对其他人有帮助。

基本上,我不应该尝试使用 segue 来解决这个问题。 Delegate应该是解药。

因此将 table 视图控制器设置为 FilterViewController 的委托。当按下 FilterViewController 中的按钮时。 TableViewController 中的委托方法将删除 filterView 并重新加载数据。