Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios iPhone X中UIScrollView的ContentSize高度未更新_Ios_Swift_Uiscrollview_Swift4_Iphone X - Fatal编程技术网

Ios iPhone X中UIScrollView的ContentSize高度未更新

Ios iPhone X中UIScrollView的ContentSize高度未更新,ios,swift,uiscrollview,swift4,iphone-x,Ios,Swift,Uiscrollview,Swift4,Iphone X,这个问题一开始听起来很简单,但这是我不得不问一个问题寻求建议的事情之一,因为我想不出其他办法来解决这个问题。我已经寻找了太多的解决方案,但没有找到任何解决方案 处境 我有一个水平滚动的集合视图,可以覆盖整个屏幕 我在每个单元格的内容视图中添加了一个滚动视图,其中包含多个高于屏幕高度的视图 添加最后一个子视图后,我使用以下命令更新滚动视图内容大小: scrollview.contentSize=CGSize.init(宽度:屏幕宽度,高度:(scrollview.subviews.last?.fr

这个问题一开始听起来很简单,但这是我不得不问一个问题寻求建议的事情之一,因为我想不出其他办法来解决这个问题。我已经寻找了太多的解决方案,但没有找到任何解决方案

处境 我有一个水平滚动的集合视图,可以覆盖整个屏幕

我在每个单元格的内容视图中添加了一个滚动视图,其中包含多个高于屏幕高度的视图

添加最后一个子视图后,我使用以下命令更新滚动视图内容大小:

scrollview.contentSize=CGSize.init(宽度:屏幕宽度,高度:(scrollview.subviews.last?.frame.origin.y)!+(scrollview.subviews.last?.frame.size.height)!)

假设“scrollview”是滚动视图,“screenWidth”是屏幕的宽度。除iPhoneX外,它还可以在其他设备上运行,可能会滚动两个屏幕高度,但仅此而已。其他设备可以转到滚动视图的底部

写这篇文章时,我想:

若我需要将安全区域的顶部和底部填充添加到内容大小高度,因为它延伸到那个里,那个该怎么办

我这样做了,但它只添加了很少的内容,而且由于这个问题,仍然无法看到大部分视图


欢迎提供投入。提前感谢。

滚动视图很棘手。每当我遇到这些类型的场景时,我只需将所有视图添加到stackView中,并且stack视图对scrollView具有上/下/前导/尾随约束(stackView在scrollView中)。设置stackView与scrollView具有相同的宽度也很重要。这样就不需要手动修改scrollView内容大小。它与内部的stackView单独工作。