设置UIScrollView for Autolayout以便为小屏幕滚动_only_

时间:2016-04-23 21:27:57

标签: ios iphone uiscrollview autolayout screen

我有一个只有iPhone的纵向应用程序,必须在iPhone 4s及更高版本上运行。该设计针对iPhone 6。

我想让它以这样的方式工作:对于小屏幕,如果内容不适合,内容会垂直滚动。所有东西都使用Autolayout布局,在iPhone 6及更高版本上看起来很完美。但是在较小的iPhone上,它试图垂直挤压内容并破坏设计。

我已经在内容视图中嵌入了所有内容,并将此视图添加到UIScrollView中。 我想如果我在内容视图中添加一个高度约束,UIView就会有 contentSize 并且会滚动 - 但事实并非如此。 Autolayout打破了这种限制。

我以为我会理解带有autolayout的滚动视图的“特殊”约束......

我做错了什么?

3 个答案:

答案 0 :(得分:1)

如果没有运行时的约束列表,实际问题是什么,这是不可能告诉你的,但是如果你仔细阅读这篇优秀的文章,你可能会想出如何正确地做到这一点:

iOS: How To Make AutoLayout Work On A ScrollView

答案 1 :(得分:0)

此视频将帮助您了解如何使用UIScrollView的自动布局约束: https://www.youtube.com/watch?v=UnQsFlMGDsI

答案 2 :(得分:0)

你的约束应该是,

scrollview - 顶部,底部,前导,尾随

视图(内容视图) - 容器中的顶部,底部,前导,尾随,固定高度和水平居中

并在该视图中添加所有其他内容。你会得到理想的结果。它将以小屏幕尺寸滚动,然后滚动内容视图,不会滚动显示更大的屏幕,然后滚动内容视图。

完成此设置后,如果您无法滚动,请检查content view's bottom constraint's constant中的size inspector。使其为零(如果无法仅滚动)。

如果您想更深入地了解其他答案中给出的链接,可以使用许多教程

希望这会有所帮助:)