通过Autolayout推动隐藏底栏

Dee*_*san 3 objective-c uitabbarcontroller ios autolayout xcode7

我有UITabBarController一个UINavigationController拿着一个UIViewController根视图控制器.

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

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

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

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

在此输入图像描述

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

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

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

在此输入图像描述

Mar*_*ark 5

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

在此输入图像描述

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

在此输入图像描述

并添加了一个Bottom Edges约束.

我最初做的是使用pin菜单将视图固定到其超视图,但似乎默认情况下会将其固定到底部布局,这会导致过渡期间的奇怪移动.

编辑:

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

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