contentInsetAdjustmentBehavior 似乎不适用于子 UIControllerView 的 UIScrollview

Posted

技术标签:

【中文标题】contentInsetAdjustmentBehavior 似乎不适用于子 UIControllerView 的 UIScrollview【英文标题】:contentInsetAdjustmentBehavior seems not act right for child UIControllerView 's UIScrollview 【发布时间】:2017-09-29 09:21:16 【问题描述】:

我使用WMPageController 作为我的视图控制器之一,正如我们所知,在 iphoneX 上,滚动视图默认情况下将有一个安全区域,它将您的内容视图限制在中心,即顶部具有 44 状态高度和 44 正常导航栏高度和底部有 49 个普通标签栏高度和 34 个主页指示器高度。那么你的滚动视图可以在滚动到底部时自动更改它的 contentInset 以保证滚动视图的底部内容不会被主页指示器覆盖,但是当我使用 wmpagecontroller 时,它需要一些 uiviewcontrollers 以便在单个 viewcontroller 中轻松更改 vc ,然后每个视图控制器我在其中测试滚动视图,它运行没有问题,但是当设置为 umpagecontroller 时,我的意思是我设置的那些控制器不能正确识别它的滚动视图的 contentInsetAdjustmentBehavior,当我滚动到底部时, vc(wmpagecontroller) 之外的主页指示器在我的表格单元格的内容上。

这不正常,当我松开手指时,滚动指示器刚好被右下角的圆角夹住☹️

正常的时候应该是这个样子.....????

谁知道如何处理这种情况?

【问题讨论】:

【参考方案1】:

很难从您的描述/屏幕截图中判断您的 tableview 上的内容插图是否正确。如果是,你可以调整viewDidLayoutSubviews()中的滚动指示器插入:

override func viewDidLayoutSubviews() 
    super.viewDidLayoutSubviews()
    tableView.scrollIndicatorInsets = tableView.contentInset

此外,您可以根据需要在tableView.scrollIndicatorInsets 之前调整tableView.contentInset

【讨论】:

以上是关于contentInsetAdjustmentBehavior 似乎不适用于子 UIControllerView 的 UIScrollview的主要内容,如果未能解决你的问题,请参考以下文章