iOS自定义segue从叠加视图中的幻灯片返回

时间:2015-01-26 17:06:52

标签: objective-c storyboard xcode6 ios8.1

这是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吗?或者如何做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:0)

刚刚解决了这个问题。希望它可以帮助别人。

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

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