【发布时间】:2014-12-14 08:22:48
【问题描述】:
我创建了一个水平滚动的UIScrollView,其中包含UIButtons。我希望UIButtons 填充UIScrollView 的高度,所以我为按钮设置了自动布局:顶部空间和底部空间设置为 Superview,常量为 0。在 Interface Builder 中显示正确的UIScrollView 帧大小,但按钮太小了 10 个像素 - 按钮下方有额外的填充。滚动视图的高度为 44 像素,按钮高度为 34 像素。
我认为这可能是因为它保留了一些空间来显示水平滚动条。但是我在 IB 中禁用了显示水平指示器。然后我尝试通过下面的代码以编程方式删除空间,但这并没有改变任何东西。
self.automaticallyAdjustsScrollViewInsets = false
scrollView.contentInset = UIEdgeInsetsZero
scrollView.scrollIndicatorInsets = UIEdgeInsetsZero
scrollView.contentOffset = CGPointMake(0, 0)
编辑:它不能与为滚动条保留空间有关。滚动视图的高度等于另一个按钮的高度。当我更改该按钮的高度以更改滚动视图高度时,底部间距会增加。按钮总是 34pt 高。
我尝试的另一件事是删除底部空间并添加固定高度约束,但这会导致滚动视图高度不明确。
如何删除此填充以使按钮的高度与滚动视图的高度完全相同?
界面生成器:
运行应用程序:
(我暂时取消隐藏滚动条显示在这里)
我需要将白色按钮拉高以覆盖其下方的灰色区域。
【问题讨论】:
-
不管滚动视图高度是多少,总是有 10pt 的差异吗?
-
@hlfcoding 滚动视图的高度等于另一个按钮的高度。当我更改该按钮的高度以更改滚动视图高度时,间距量会增加!按钮总是 34pt 高。所以它与为滚动条保留的空间无关。将更新问题。
标签: ios swift uiscrollview ios8 autolayout