【问题标题】:UITextView textContainerInsets changing with preferredContentSizeUITextView textContainerInsets 随 preferredContentSize 变化
【发布时间】:2015-07-06 20:57:52
【问题描述】:

在弹出框的顶部,我有一个高度为 100 像素的 UITextView,我使用 textView.textContainerInset = UIEdgeInsets(...) 调整了其文本容器插图。弹出框的高度使用self.navigationController?.preferredContentSize.height = someHeight 随时间变化,其中selfUIViewControllerUIPopoverPresentationControllerDelegate 的子类。

当我使用该方法调整弹出框的高度时,文本视图的文本容器下降了大约 50 像素,就好像它的插图正在动画一样。在调整高度无济于事后,我尝试显式重置文本容器插图。

打开视图调试器显示文本视图本身仍然是 100 像素高,但清楚地显示文本容器(列为 _UITextContainerView 并且不能直接访问)下降了大约 50 像素。

知道是什么导致插入或_UITextContainerView 像这样掉线吗?

【问题讨论】:

    标签: ios swift uikit uitextview uipopover


    【解决方案1】:

    我最终在视图控制器上设置了 self.automaticallyAdjustsScrollViewInsets = false 并且成功了。

    我怀疑这行得通,因为 UITextView 在文本超出其边界时具有滚动行为(不确定它是否是内部完整的滚动视图,我在某些地方读过它,而其他人说它不是。)并且因为包含视图控制器的首选内容大小的高度发生了变化,它对文本视图的内容产生了影响(这个内容是前面提到的_UITextContainerView。)所以通过设置self.automaticallyAdjustsScrollViewInsets = false,这阻止了文本视图将其文本容器下降了大约 50 像素,最终变为 44 像素(新旧高度之间的增量。去看看!)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多