更改基于选项卡的应用程序上的选项卡会向下推 UI 元素

Posted

技术标签:

【中文标题】更改基于选项卡的应用程序上的选项卡会向下推 UI 元素【英文标题】:Changing tabs on Tab Based Application Pushes UI Elements Down 【发布时间】:2017-10-21 00:10:16 【问题描述】:

我有一个基于选项卡的 ios 应用程序。第四个选项卡链接到 UINavigationController。当我从第四个选项卡导航到主页选项卡时,主页选项卡的 UI 元素被向下推。但是,如果我将手机旋转为横向,然后再转回纵向,则一切都已向上移动并位于正确的位置。

在 Storyboard 中,我将顶部栏设置为 none。在导航到主页选项卡之前,我将 UINavigationBar 隐藏在第四个选项卡/视图控制器中。

为什么旋转会修复约束?如何修复 UI 元素,使其一开始就不会被下推?

这是我的故事板的屏幕截图:

【问题讨论】:

【参考方案1】:

你的问题真的没有意义。第 4 个选项卡不会嵌入到导航控制器中。相反,第 4 个选项卡将链接到导航控制器。当您第一次选择该选项卡时,您会看到根视图控制器及其导航栏项目。如果您推送了一个新的视图控制器,它将被推送到选项卡 4 中的导航控制器上。如果您切换到其他选项卡之一,那么导航控制器将被交换,并且它的导航栏将不再可见。切换回选项卡 4,您会再次看到它,并带有它的导航栏。

我创建了一个示例应用程序来确认我所描述的内容,因为我没有经常使用标签栏控制器,而且如果你真的需要看到它,我可以上传项目。它只包含几行代码(用于实现导航控制器的视图控制器上的按钮,该按钮创建并推送新的视图控制器。)

【讨论】:

我用我的故事板截图更新了我的问题。虽然你是对的 - 第 4 个选项卡链接到导航控制器。我已经用你正确的语言更新了我的帖子。但是你知道为什么从 Snap It Nav 控制器导航到 home 控制器(这里的标题为 Leafsnap)会下推 UI 元素吗?为什么旋转它会修复它? 你是如何从导航控制器导航到“leafsnap”视图控制器的?通过切换标签? 是的,我通过切换标签来导航。 Nav Controller 是第三个选项卡,“leafsnap” vc 是第一个选项卡。

以上是关于更改基于选项卡的应用程序上的选项卡会向下推 UI 元素的主要内容,如果未能解决你的问题,请参考以下文章

在 Lwuit 中,如何处理键盘导航事件?

响应选项卡是一个jQuery插件,提供响应选项卡功能。当它到达CSS断点时,选项卡会转换为手风琴。您可以使用此插件作为在桌面、平板电脑和手机上优雅显示选项卡的解决方案。

推送到另一个选项卡的视图控制器

如何在 Qt 中动态添加选项卡?

当通过手势识别器滑动切换到仅点击选项卡时,在 tabbarcontroller 中切换选项卡会给出不同的结果

如何在 Kendo UI TabStrip 中获取对当前选定选项卡的引用?