不平等约束问题

Ineqaulity constrains issue

我有不平等约束的问题。我想让 facebook_logo.Top 约束等于 = 136,但是例如,当出现键盘时,我想将视图滚动到顶部,在这种情况下,可以隐藏 facebook 徽标,为了实现它,我添加了第二个约束。所以现在我有两个限制:

它对我有用,但是 Xcode 显示自动布局错误:不等式约束歧义。

请问如何解决。

我认为你应该像这样收听键盘通知:

NSNotificationCenter.defaultCenter().addObserver(vc, selector: "keyboardWillShow:", name: "UIKeyboardWillShowNotification", object: nil)

NSNotificationCenter.defaultCenter().addObserver(vc, selector: "keyboardWillHide:", name: "UIKeyboardWillHideNotification", object: nil)

并根据userInfoDictionary中的UIKeyboardFrameBeginUserInfoKey and UIKeyboardFrameEndUserInfoKey修改约束。

将所有视图放在滚动视图中,给予适当的约束,然后使用 IQKeyboardManager。它会自行管理。

您应该添加一个等于 facebook_logo.Top Layout = 136 的约束并使用优先级 exp:

  • facebook_logo.Top Layout = 136 -> 优先级:999
  • facebook_logo.Top Layout <= 136 -> 优先级:1000
  • facebook_logo.Top Layout >= -100 -> 优先级:1000

实际上我发现了我的问题,为了解决它,我删除了约束 facebook_logo.Top 布局并添加了另一个 facebook_logo.Bottom 布局。现在,当 kwyboar 出现时,所有 UI 固定到底部布局指南和视图的元素都可以移到顶部。感谢您的帮助。