iOS同时推送BottomBar和ToolBar

Posted

技术标签:

【中文标题】iOS同时推送BottomBar和ToolBar【英文标题】:iOS push BottomBar and ToolBar simultaneously 【发布时间】: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 应该一起移动而不关闭它们中的任何一个?

谢谢!

【问题讨论】:

【参考方案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 显得很短,会再次消失。

以上是关于iOS同时推送BottomBar和ToolBar的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以使用 SwiftUI 创建 BottomBar

***应用如何几乎同时发送多个 ios 推送通知?

JSON对象压缩同时使用php发送推送通知ios/android

如何在不使用php循环的情况下同时向ios设备发送1000条推送通知

iOS开发——iOS10升级极光推送SDK友盟分享SDK

iOS推送通知和远程通知的区别?