在ScrollView

时间:2016-01-04 05:09:33

标签: ios swift uiscrollview uitextview

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

现在我首先尝试在viewDidLoad中执行此操作,但没有任何更改,因此我尝试在viewDidAppear中设置它,这有效,但我的问题是,一旦视图出现,您实际上看到textview框弹出到位,我不喜欢这样。我也检查了我的约束,它们都很好,因为我认为它们也可能导致问题。我不太确定如果在视图出现时没有真正看到UITextView弹出窗口,我可以做些什么来使其工作。

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

enter image description here

这就是我想要UITextView框的样子。

enter image description here

非常感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:0)

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

override func viewDidLoad() {
    super.viewDidLoad()

    self.automaticallyAdjustsScrollViewInsets = false
}

你想要更多关于这个检查的细节这个答案: Explaining difference between automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout in iOS7