我有一个带有几个按钮的 UIScrollView。 ScrollView 底部的按钮可见,但在按下时没有响应。我的问题似乎与 this Stackoverflow Question 中的问题相同,但接受的答案似乎并没有解决我的问题; scrollview 的框架、scrollview 的 contentSize 和 scrollview 内部 View 的框架(这也是有问题的按钮的父 View )都有宽度 414pt 和高度 900pt。这绝对应该足够大以包含没有响应的按钮。
编辑: 我在 Interface Builder 中创建了 ScrollView 。 ScrollView 中容器 View 的边缘被固定到 ScrollView 的边缘。
我尝试添加这些代码行:
scrolling.frame = CGRect(x: 0, y: 0, width: 414, height: 900)
viewInsideScrollview.frame = CGRect(x: 0, y: 0, width: 414, height: 900)
scrolling.contentSize = CGSizeMake(414, 900)
self.view.frame = CGRect(x: 0, y: 0, width: 414, height: 900)
添加这些行并没有改变 ScrollView 的外观或行为方式(滚动正常,但底部的按钮没有响应。)
最佳答案
UIScrollView
通过其内部的 View 推断其大小。您在界面生成器中创建了 View ,这可能就是您添加的代码行不起作用的原因(我不完全确定它们为什么不起作用)。但是,有效的方法是在 viewInsideScrollview
上设置约束,以便 scrolling
扩展到完整的内容大小。例如,如果您的 viewInsideScrollview
中有 10 个按钮,您应该在最上面的按钮上设置顶部空间约束、前导和尾随约束、按钮之间的间距约束以及底部空间约束在最底部的按钮上。 滚动
将扩展以容纳所有按钮,您将能够选择所有按钮。
关于ios - Scrollview 底部的按钮没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964524/