【问题标题】:Offsetting UIView isn't moving all view elements偏移 UIView 不会移动所有视图元素
【发布时间】:2016-04-06 21:57:54
【问题描述】:

我有一个看起来像这样的视图控制器:Normal View Controller

当键盘出现时,我希望屏幕向上移动,这样文本字段就不会被键盘覆盖。我正在使用 self.view.frame = CGRectOffset(self.view.frame, 0, -keyboardHeight) 移动 UIView。

但是,当键盘出现时,它只会移动底部的按钮:View Controller with Keyboard

为什么视图控制器中的其余元素都留在同一个地方,如何让它们全部向上移动?

【问题讨论】:

  • 你在使用自动布局吗?您可能确实将文本字段设置为距顶部固定距离,而不是距底部固定距离甚至居中。
  • 是的,我对顶部和中心使用了约束,但这有什么关系呢?当我使用 xcode 6 时相同的代码可以工作,但当我将其更新到版本 7 时停止了

标签: ios swift uiview keyboard


【解决方案1】:

您正在使用自动布局。因此,您实际上必须为其他对象上设置的每个约束添加 @IBOutlets。除了移动视图,您还必须移动相同数量的约束。

【讨论】:

  • 有没有办法以编程方式选择所有约束而不为每个约束创建@IBOutlet?对于其他有很多限制的视图,我也必须这样做
  • @wafflecohn 是的,你必须为每个人都这样做,除非你知道如何使用堆栈视图
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 1970-01-01
  • 2018-03-30
相关资源
最近更新 更多