【问题标题】:iOS custom segue return from slide in overlay viewiOS自定义segue从覆盖视图中的幻灯片返回
【发布时间】:2015-03-25 03:47:24
【问题描述】:

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

[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)];
    }];

}

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

你能告诉我如何写这个segue吗?或者如何做到这一点?

谢谢。

【问题讨论】:

  • 你可以看看这个:stackoverflow.com/questions/28139754/…。您的问题非常相似,您有一个 tabBar 和一个孤立的视图。所以一个好的方法是将其显示为弹出窗口并关闭它。

标签: objective-c storyboard xcode6 ios8.1


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-13
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多