即使内容大小较大,滚动视图也不会滚动
Posted
技术标签:
【中文标题】即使内容大小较大,滚动视图也不会滚动【英文标题】:Scrollview will not scroll even with larger contentsize 【发布时间】:2013-08-08 12:15:25 【问题描述】:遇到了一个我不明白的奇怪问题。
我将内容大小设置为我创建的名为 newSize 的 CGSize。我在 UIScrollView 中的一行中添加按钮,该按钮超出了滚动视图的框架,并更改了内容大小以匹配新的宽度 + 400 以确保安全。
newSize.width = contentSizeWidth+400;
NSLog(@"newSize width: %f", newSize.width);
[_scrollViewOutlet addSubview:button];
[_scrollViewOutlet setContentSize:newSize];
NSLog(@"scrollviewOutlet Content Width: %f", _scrollViewOutlet.contentSize.width);
NSLog 打印出 768。在界面生成器的滚动视图中启用了滚动,但我无法滚动滚动视图?问题可能是什么?
【问题讨论】:
contentSizeWidth
如何计算?
_scrollViewOutlet.contentSize.width = 768.00 且 Scrollview 框架宽度为 400
那么,contentSizeWidth
有一个硬编码值吗?
它穿过一个按钮数组并且 contentsizewidth 增加如下: contentSizeWidth = (20+button.frame.size.width) * i;在滚动视图中的每个按钮之间创建一个 20 像素的间隙。
你在哪里调用上面的代码? viewDidLoad
?
【参考方案1】:
这可能会有所帮助: 在提供 contentSize 之前添加按钮。
// add all buttons
// create contentSizeWidth presumably by adding all buttons height
contentSizeWidth = contentSizeWidth + buttonHeight;// repeat this for every button
[_scrollViewOutlet addSubview:button];
// create newSize
newSize.width = contentSizeWidth+400;
// set content size
[_scrollViewOutlet setContentSize:newSize];
【讨论】:
【参考方案2】:我解决了这个问题。这是一个需要在视图中取消勾选的自动布局复选框。
【讨论】:
再模糊不过了。【参考方案3】:问题可能是frame的宽度等于contentSize的宽度。
【讨论】:
以上是关于即使内容大小较大,滚动视图也不会滚动的主要内容,如果未能解决你的问题,请参考以下文章