我正在尝试创建一个在iphone 3.5英寸屏幕中需要滚动的屏幕。我附加了包含uiviewcontroller,uiscrollview,uiview配置的图像。问题是虽然高度似乎增加,但是当我运行iPhone 4s时,滚动的某些部分隐藏在UIView之外(虽然当我在控制台中打印高度时uiview高度显示700)。可能是什么问题?请帮帮我?
答案 0 :(得分:1)
您的约束具有负值。在最后一个截图中,我假设是scrollView中视图的约束,superview的底部偏移是-400。
我认为这就是为什么你不能看到整个视图,因为底部偏移是负面的。尝试将此值设置为0,这应该可以解决它。
如果这不能解决您的问题,也许您可以指定图像中约束的视图。
让我知道它是怎么回事!祝你好运!
答案 1 :(得分:1)
当您使用UIScrollView
和AutoLayout
时,它总是很棘手。
您必须将所有子视图添加到一个UIView
,并将该视图添加到UIScrollView
。
您需要的Autolayout约束:
对于UIScrollView:
Left to Superview
Right to Superview
Top to Superview
Right to superview
对于UIScrollView的内部视图(即ScrollView中的唯一视图):
Width & Heigh
Left, Right, Top and Bottom constraint to Superview (i.e. ScrollView)
Also add Horizontal Centre to Superview.
它的工作方式就像魅力一样(至少每次为我工作:)。
答案 2 :(得分:1)
contentSize必须大于scrollview的框架才能滚动任何内容。 :)
在这种情况下,它们都是(600, 1300)
,因此请将scrollView的高度更改为(320,480)
答案 3 :(得分:1)
这有点令人困惑,但正如Yuvrajsinh告诉你的那样,你需要将滚动视图的自动布局约束设置为超视图的4边。然后对scrollView的内容执行相同的操作,最重要的是:为内容设置固定/不相关的scrollview高度和宽度
答案 4 :(得分:0)
感谢您提供的信息和建议。现在它正常工作。我做的是
然后我将等高度约束设置为低优先级250
现在我可以根据手机屏幕的大小随时滚动:)