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 中有多个 UIViewController 可以吗?