【发布时间】:2015-11-18 18:45:21
【问题描述】:
滚动视图
我有一个 UIScrollView,带有约束 left: 0, top: 0, right: 0, bottom: 0
内部滚动视图
在这个UIScrollView 的顶部是一个UIImageView,带有约束left: 0, top: 0, right: 0, height: 200
在下面我有一个UITextView 约束left: 0, top: 0, right: 0, bottom: 0
这意味着UITextView 将根据其内容调整大小,我将UITextView 的scrollingEnabled 设置为false。
所以,当我跑步时,它几乎完美运行。
一个问题是UIImageView 比实际屏幕宽度多出大约 10%。因此,启用了水平滚动。
我已尝试添加行
imageView.frame = CGRect(0, 0, screenSize.width, 200)
scrlView.contentSize.width = screenSize.width
但这没有区别。我仍然可以水平滚动,并且 Image View 仍然比实际屏幕宽度多出 10% 左右。
注意,我没有在情节提要中设置 imageView 屏幕宽度,仅以编程方式设置。
有什么想法吗?
【问题讨论】:
-
这样做
scrlView.contentSize.width = 0; -
我过去多次遇到同样的问题。我解决了在 scrollView 中使用 contentview 的问题。我建议在 scrollView 中使用 uiview 作为 contentview。基本点是 contentView 的宽度应该等于 scrollView 的宽度。您所有的 imageview textview 等都必须在内容视图中。
-
如果滚动视图的
contentsize.width <= width通常滚动视图不会滚动,因此如果您不想进行任何计算,请安全地设置contentsize.width = 0;,这肯定会消除滚动。
标签: ios swift uiscrollview