Ineqaulity限制了问题

时间:2016-03-09 17:13:42

标签: ios ios-autolayout nsautolayout

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

  • facebook_logo.Top Layout< = 136
  • facebook_logo.Top Layout> = -100

它适用于我,但Xcode显示自动布局错误:不平等限制歧义。

您能否建议如何解决它。

enter image description here

4 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

将所有视图放在scrollview中,给出适当的约束,然后使用IQKeyboardManager。它将自我管理。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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