UIScrollView 不工作

Posted

技术标签:

【中文标题】UIScrollView 不工作【英文标题】:UIScrollView not working 【发布时间】:2012-04-20 23:28:26 【问题描述】:

我有一个 UIScrollView,里面有一个 View。该视图的内部是一堆按钮、标签等,它们在纵向模式下适合视图......当 iPad 旋转时,我希望滚动视图启动,以便用户可以滚动到视图的底部。该应用程序运行,但是当我旋转它时,滚动条永远无法工作......我相信我已经正确连接了所有东西,并且我在 viewDidLoad 事件中有这段代码:

[scrollview addSubview: masterView]; 
scrollView.contentSize = [masterView sizeThatFits:CGSizeZero]; 

我还有什么遗漏的吗? iPad旋转时需要修改尺寸吗?

谢谢

【问题讨论】:

如果正确设置视图的autoresizingMask,则旋转后不需要修改大小。 【参考方案1】:

UIScrollView 的内容大小可能有问题。如果没有将 contentSize 设置为大于实际的 scrollView 大小,则不会显示滚动条。

你可以这样写:

[scrollView setContentSize:CGSizeMake(2000,2000)];

然后将内容大小更改为您在UIScrollView (scrollView) 中放入的实际内容大小。

【讨论】:

【参考方案2】:

如果您查看[masterView sizeThatFits:CGSizeZero] 的结果(例如 NSLog 或在调试器中设置断点,我想您会发现它不是您预期的那样。您可能会发现 masterView 设置了 autoResize 参数(其中对于覆盖整个屏幕的视图来说是很常见的),这意味着它本身可能被调整得太短而无法适应其所有控件,而 scrollView 只是简单地抓取这个缩短的值本身。看看那个 CGSize 和问题会很明显。

【讨论】:

【参考方案3】:

我遇到过类似的情况,但我的案例是 iPhone。

请记住,滚动视图的内容应该大于滚动。

“如果一切都在你面前,你为什么要下去?”

使用以下代码:

  [scrollView setContentSize:CGSizeMake(intValue, intValue)];

intValue:整数值设置滚动的宽度和高度。

即使它不起作用,也不要担心有很多其他选项可以找出解决方案: 1.NSLog 2.断点 3. 把你从控制台得到的错误放到***上

【讨论】:

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

以编程方式选择 UIScrollView 中显示的当前按钮

如何检测 UIScrollView 何时变为可滚动?

UIScrollView 中有多个 UIViewController 可以吗?

iOS - UIScrollView 中的按钮点击动画

如何使 UIScrollView 与自动布局和动态内容一起使用? [复制]

如何在垂直 UIScrollView 中显示文本和其他对象?