UITextView textContainerInsets 随 preferredContentSize 变化
UITextView textContainerInsets changing with preferredContentSize
在弹出窗口的顶部,我有一个高度为 100 像素的 UITextView
,我使用 textView.textContainerInset = UIEdgeInsets(...)
调整了其文本容器插入。弹出窗口的高度使用 self.navigationController?.preferredContentSize.height = someHeight
随时间变化,其中 self
是 UIViewController
和 UIPopoverPresentationControllerDelegate
.
的子类
当我使用该方法调整弹出窗口的高度时,文本视图的文本容器下降了大约 50 像素,就好像它的插图是动画的一样。在调整高度无济于事后,我尝试明确重置文本容器插图。
打开视图调试器显示文本视图本身仍然是 100px 高,但清楚地显示文本容器(它被列为 _UITextContainerView
并且无法直接访问)已经下降了大约 50px。
知道是什么导致了插图或 _UITextContainerView
那样下降吗?
我最终在视图控制器上设置了 self.automaticallyAdjustsScrollViewInsets = false
并且成功了。
我怀疑这是可行的,因为 UITextView
在文本超出其边界时具有滚动行为(不确定内部是否是完整的滚动视图,我在某些地方读到它是和其他人说它不是。)并且因为包含视图控制器的首选内容大小的高度已经改变,它对文本视图的内容产生了影响(这个内容是前面提到的_UITextContainerView
。)所以通过设置 self.automaticallyAdjustsScrollViewInsets = false
,这阻止了文本视图将其文本容器下降约 50px,最终为 44px(旧高度和新高度之间的差值。看图!)
在弹出窗口的顶部,我有一个高度为 100 像素的 UITextView
,我使用 textView.textContainerInset = UIEdgeInsets(...)
调整了其文本容器插入。弹出窗口的高度使用 self.navigationController?.preferredContentSize.height = someHeight
随时间变化,其中 self
是 UIViewController
和 UIPopoverPresentationControllerDelegate
.
当我使用该方法调整弹出窗口的高度时,文本视图的文本容器下降了大约 50 像素,就好像它的插图是动画的一样。在调整高度无济于事后,我尝试明确重置文本容器插图。
打开视图调试器显示文本视图本身仍然是 100px 高,但清楚地显示文本容器(它被列为 _UITextContainerView
并且无法直接访问)已经下降了大约 50px。
知道是什么导致了插图或 _UITextContainerView
那样下降吗?
我最终在视图控制器上设置了 self.automaticallyAdjustsScrollViewInsets = false
并且成功了。
我怀疑这是可行的,因为 UITextView
在文本超出其边界时具有滚动行为(不确定内部是否是完整的滚动视图,我在某些地方读到它是和其他人说它不是。)并且因为包含视图控制器的首选内容大小的高度已经改变,它对文本视图的内容产生了影响(这个内容是前面提到的_UITextContainerView
。)所以通过设置 self.automaticallyAdjustsScrollViewInsets = false
,这阻止了文本视图将其文本容器下降约 50px,最终为 44px(旧高度和新高度之间的差值。看图!)