iOS 7.1为什么我的UIScrollView在显示键盘时滚动?

时间:2014-03-27 15:22:34

标签: ios iphone uiscrollview keyboard

我有一个用IB设计的UIScrollView。

UIView
  UIScrollView
    UIView
      UITextField
      UIButton
      ...

如果我点击文本字段,则在键盘出现之前,视图会向屏幕的左上角滚动。键盘上方的空间仍然是空的。如果我拖入这个空白区域,我可以回滚视图。

我用Google搜索,但发现只有用户想要滚动UIScrollView的帖子。我希望视图保持原样。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:2)

这里发生了什么。

  1. 您在Interface Builder中设计了整个内容。

  2. 滚动视图未滚动,因此您将代码中的contentSize设置为滚动视图的主要子视图的大小(我想称之为内容视图< / em>的)。

  3. 滚动视图不滚动,因此您对内容插入进行了操作 - 这导致了将您带到此处的问题。

  4. 你的错误是(3)。相反,你应该更多地考虑(2),即,为什么我的滚动视图不滚动,即使我已经给它一个很好的大内容?

    答案是,在启用了自动布局的故事板或xib中,这不是你所做的。您所做的是在内容视图中使用约束到其超级视图(滚动视图),在所有四个方面。将所有四个约束的constant设置为零。这会导致内容大小与内容视图的大小相匹配,自动