推动Autolayout时隐藏底栏
我有一个UITabBarController
,其中一个UINavigationController
将UIViewController
作为根视图控制器。
当点击UIViewController
中的一个按钮时,我按下常规聊天窗口UIViewController
(带有TableView +输入视图)结束隐藏底部标签栏。 (使用“按下时隐藏底栏”标志)
在故事板中,我向VC添加了一个常规UIView
子类,看起来像一个底栏,我使用自动布局将其固定到VC视图的底部。
当我按下VC时问题需要一秒钟才能将此视图固定到底部,看起来像自动布局将其固定到底部,就好像标签栏没有被隐藏一样,一秒后它识别出标签栏被隐藏了将其移动到视图的真实底部。
有关清晰信息,请查看此屏幕截图
现在我将让你知道表视图的约束。
现在我展示了InputView的约束
我也在添加我的View层次结构……
我的项目中有类似的问题。 我通过选择我希望锚定到底部的视图(在您的情况下,输入视图),保持Command
,并选择其超级视图(现在应突出显示两个视图)来解决它。
然后我选择了IB底部的对齐按钮:
并添加了一个Bottom Edges
约束。
我最初做的是使用pin菜单将视图固定到其超视图,但是默认情况下会将其固定到底部布局,这会导致转换过程中出现奇怪的移动。
编辑:
在看到最新的截图后,问题可能在于其中一个超级视图。 我假设chatWindow
是一个UIView
,你的Scroll View
只是水平的。 这是您应该检查的内容:
-
chatWindow
固定在scrollView
的底部,类似于我上面概述的内容。 -
scrollView
固定在其scrollView
上。 - 将
inputView
外部的scrollView
移动到根scrollView
视图。 然后逐个将其向下移动到其当前位置。