【问题标题】:iOS push BottomBar and ToolBar simultaneouslyiOS同时推送BottomBar和ToolBar
【发布时间】:2013-06-30 10:16:43
【问题描述】:

我有一个带有 TabBar (BottomBar) 和 ToolBar 的 UITableView。选择单元格时,DetailsView将推送到堆栈。 detailsView 没有 TabBar 也没有 ToolBar。这是在prepareForSegue 方法中完成的:

...
if ([segue.identifier isEqualToString:@"ShowDetails"])
{
    ...
    editDetailsViewController.hidesBottomBarWhenPushed = YES;    // for hiding the TabBar
    [self.navigationController setToolbarHidden:YES];   // for hiding the toolbar
}

现在一切正常工作,但选择单元格时,在显示详细信息前立即在表视图中立即关闭工具栏。 我该如何防止这种行为? ToolBar 和 TabBar 应该一起移动而不关闭它们中的任何一个?

谢谢!

【问题讨论】:

    标签: ios uitabbar uitoolbar pushviewcontroller


    【解决方案1】:

    这部分很好:

    ...
    if ([segue.identifier isEqualToString:@"ShowDetails"])
    {
        ...
        editDetailsViewController.hidesBottomBarWhenPushed = YES;    // for hiding the TabBar
    }
    

    但是,prepareForSegue 在推送之前被调用。

    如果您希望工具栏通过动画隐藏,您应该implement a Custom UISegue 并在过渡中为UIToolbar 设置动画。

    【讨论】:

    • 感谢 Nikola,我假设 prepareForSegue 的内容在推送后被调用。我会尽量按照添加链接的建议。
    • 祝你好运!请记住,链接中的示例是关于完全不同的动画,在您的情况下,您应该弄清楚如何为工具栏设置动画。
    • 是的,我知道。我仍然很惊讶我需要为此实现自定义动画。
    【解决方案2】:

    我认为你应该评论这一行。

    [self.navigationController setToolbarHidden:YES];
    

    然后再试一次。

    【讨论】:

    • 感谢 looyao,我之前尝试过,但这会导致看起来更糟糕的行为:工具栏已关闭,并且在 tableView 中将其占用的空间留为黑色。在 detailsView 中,ToolBar 显得很短,会再次消失。
    猜你喜欢
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多