TextViews 在 ScrollView 中的位置不正确

TextViews not in correct position in ScrollView

我有两个 UITextView 盒子,它们在 UIView 中,在 UIScrollView 中。我的问题是,当我 运行 模拟器中的应用程序时, UITextView 框的位置低于我想要的,但是在 UITextView 框内单击后,关闭键盘和我的 textViewDidEndEditing 函数触发,它们设置回我最初希望它们所在的位置。在我的 textViewDidEndEditing 函数中,我确实设置了 UIScrollView 内容偏移量以返回到 (0,0 ) 所以我最初的解决方案是我需要立即将内容偏移设置为 (0,0),然后将我的两个 UITextView 框放在我想要的位置。

现在我首先尝试在 viewDidLoad 中执行此操作,但没有任何变化,因此我随后尝试在 viewDidAppear 中进行设置,但效果很好,但我的问题是视图出现后,您实际上看到 textview 框弹出到位,我不喜欢那样。我还检查了我的约束,它们都很好,因为我认为它们也可能导致问题。我不太确定在视图出现时没有实际看到 UITextView 弹出到位的情况下我能做些什么来让它工作。

这是视图控制器第一次出现时 UITextView 框的样子,没有 viewDidAppear 方法设置内容偏移量。

这就是我希望 UITextView 框的样子。

如有任何帮助,我们将不胜感激。谢谢

在您的 viewDidLoad 中将 viewController autoScollViewInsets 设置为 false:

override func viewDidLoad() {
    super.viewDidLoad()

    self.automaticallyAdjustsScrollViewInsets = false
}

如果您想了解更多详情,请查看此答案: Explaining difference between automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout in iOS7