推动Autolayout时隐藏底栏

我有一个UITabBarController ,其中一个UINavigationControllerUIViewController作为根视图控制器。

当点击UIViewController中的一个按钮时,我按下常规聊天窗口UIViewController (带有TableView +输入视图)结束隐藏底部标签栏。 (使用“按下时隐藏底栏”标志)

在故事板中,我向VC添加了一个常规UIView子类,看起来像一个底栏,我使用自动布局将其固定到VC视图的底部。

当我按下VC时问题需要一秒钟才能将此视图固定到底部,看起来像自动布局将其固定到底部,就好像标签栏没有被隐藏一样,一秒后它识别出标签栏被隐藏了将其移动到视图的真实底部。

有关清晰信息,请查看此屏幕截图

在此处输入图像描述

现在我将让你知道表视图的约束。 在此处输入图像描述

现在我展示了InputView的约束 在此处输入图像描述

我也在添加我的View层次结构……

在此处输入图像描述

我的项目中有类似的问题。 我通过选择我希望锚定到底部的视图(在您的情况下,输入视图),保持Command ,并选择其超级视图(现在应突出显示两个视图)来解决它。

在此处输入图像描述

然后我选择了IB底部的对齐按钮:

在此处输入图像描述

并添加了一个Bottom Edges约束。

我最初做的是使用pin菜单将视图固定到其超视图,但是默认情况下会将其固定到底部布局,这会导致转换过程中出现奇怪的移动。

编辑:

在看到最新的截图后,问题可能在于其中一个超级视图。 我假设chatWindow是一个UIView ,你的Scroll View只是水平的。 这是您应该检查的内容:

  1. chatWindow固定在scrollView的底部,类似于我上面概述的内容。
  2. scrollView固定在其scrollView上。
  3. inputView外部的scrollView移动到根scrollView视图。 然后逐个将其向下移动到其当前位置。