UIScrollView 不起作用

Posted

技术标签:

【中文标题】UIScrollView 不起作用【英文标题】:UIScrollView doesn't work 【发布时间】:2018-05-17 02:44:11 【问题描述】:

这些是我的 UIView:

在我看来,我有 2 个uitableview,2 个按钮。

我总是检查我的 UIView 的大小,结果如下:

randomPOC[2231:67151] MainView-1060.000000
2018-05-17 10:33:28.812877+0800 randomPOC[2231:67151] ScrollView-1060.000000
2018-05-17 10:33:28.813094+0800 randomPOC[2231:67151] ContentView-1060.000000

当我的 mainviewscrollcontentview 大小相同时,它不会滚动。

但是当我将高度划分为mainview 的 2(高度/2)时,它允许我滚动。这让我很困惑如何以及为什么。

当我将 mainview 高度分成 2 时,它允许我滚动,但它不会覆盖到 tableview 的最后一个。

我需要调整 mainview 的大小,因为我需要覆盖有时超过 1000 高度的两个 (2) uitableview

_mainView.frame=CGRectMake(_mainView.frame.origin.x, _mainView.frame.origin.y, _mainView.frame.size.width, uitableview2.height  );

【问题讨论】:

如果滚动视图和内容大小相等,则不需要滚动,因此不会滚动。还有什么问题? @Dopapp 我更新了问题 你在使用自动布局吗?如果是这样,如果您在 VC 中进行了一些修改,您可以发布自动布局约束以及代码。 您是否尝试过将 contensize 设置为滚动? 【参考方案1】:

这个答案与你的 UIScrollView 为什么不起作用无关。 UIScrollView 仅在其内容大小大于其帧大小时才会滚动。 您应该首先确定 UIScrollView 框架的大小,对于 Veritical UIScrollView,您应该按如下方式分配内容大小: 假设您有 5 个 UIView,每个 UIView 的高度为 5 dp,您应该像这样设置 UIScrollView 高度: scrollview.setContentSize(宽度,5 * 5)。 如果 UIScrollView 框架高度大于 25,则 UIScrollView 将不会滚动。 否则 UIScrollView 会滚动。

希望对你有帮助!

【讨论】:

【参考方案2】:

通过像这样调整主视图的大小来找到答案:

_mainView.frame=CGRectMake(_mainView.frame.origin.x, _mainView.frame.origin.y, _mainView.frame.size.width, [[UIScreen mainScreen]bounds].size.height );

【讨论】:

以上是关于UIScrollView 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView -setContentInset 不起作用

UIScrollView 不起作用

UIScrollView 水平滚动不起作用

UIScrollView中的UITableView,滚动不起作用

UIScrollView contentSize 不起作用

UITextField 触摸事件在 UIScrollView 中不起作用