UIScrollView将元素定位在屏幕底部,而不是ScrollView的底部



我使用的是自动布局,我有一个UIScrollView,我想在它的初始位置将UIButton靠近屏幕底部,与ScrollView的实际内容大小无关。

也就是说,如果滚动视图没有太多内容,则应该将其扩展以填充屏幕并将按钮放在底部。

如果滚动视图的内容超过了屏幕上的容纳量,则按钮最初应该位于完全相同的位置,但与其余内容一起滚动。

我试着计算可见空间的高度,但我无法通过自动布局实现。。。

如果按钮将与其余内容一起滚动,那么无论内容放在scrollView内容视图中的位置如何,都必须考虑按钮的位置——否则按钮将覆盖该内容,或者它将覆盖按钮。

为了方便您的目标,使用scrollViews,如果contentView不超过任一轴上的框架,则scrollview不会滚动(因为没有什么可滚动的),它只会显示。

因此,在滚动视图中,将按钮设置为与超级视图.top垂直隔开,如果按钮是最高的Y视图,constant.constant+按钮的高度不会高于滚动视图的框架。

如果你的方法是将视图添加到滚动视图中,然后在添加时向它们添加约束,那么当东西添加到滚动查看中时,他们需要检查它们是否会重叠按钮或位于按钮下方,如果是这样的话,就把它们的垂直约束附加到按钮上。底部或按钮上的东西。底部,而不是超级视图。顶部或它们上面的东西附加到超级视图。如果这些东西的高度不同,那么这种方法是不可持续的,因为你无法提前计算,你需要重新思考。

无论按钮位于何处,如果它将与内容一起滚动,那么就无法绕过这一步:内容需要围绕它定位,否则它将与其中一些重叠,反之亦然。

最新更新