即使 UIView 框架增加,UIScrollview 也不会滚动超出 UIView 高度
UIScrollview is not scrolling beyond UIView height even though UIView frame is increased
我正在尝试在 iphone 3.5 英寸屏幕中创建一个需要滚动的屏幕。我附上了包含 uiviewcontroller 、 uiscrollview 、 uiview 的配置的图像。问题是尽管高度似乎增加了,当我 运行 iPhone 4s 时,滚动的某些部分隐藏在 UIView 之外(尽管当我在控制台中打印高度时 uiview 高度显示 700)。可能是什么问题?请帮帮我?
您的约束具有负值。在最后一个屏幕截图中,我假设是 scrollView 内部视图的约束,超级视图的底部偏移量是 -400。
我认为这就是您看不到整个视图的原因,因为底部偏移量为负值。尝试将此值设置为 0,这应该可以解决问题。
如果这不能解决您的问题,也许您可以指定图像的约束是针对哪个视图。
让我知道进展如何!祝你好运!
当您使用 UIScrollView
和 AutoLayout
时,它总是很棘手。
您必须将所有子视图添加到一个 UIView
并将该视图添加到 UIScrollView
。
您需要的自动布局约束:
对于 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.
它会很有魅力(至少对我来说每次都有效:)
contentSize 必须大于滚动视图的框架才能滚动。 :)
在这种情况下,它们都是 (600, 1300)
,因此请将 scrollView 的高度更改为 (320,480)
这有点令人困惑,但正如 Yuvrajsinh 告诉您的那样,您需要将滚动视图的自动布局约束设置为它的超级视图的 4 个边。然后对scrollView的content做同样的事情,最重要的是:设置一个fixed/not与content的scrollview高度和宽度相关
感谢您提供的信息和建议。现在它工作正常。我所做的是
设置滚动视图顶部、左侧、右侧、底部与超级视图对齐
将滚动视图的内容视图设置为顶部、左侧、右侧、底部与滚动视图对齐
将滚动视图的内容视图设置为“等高”和“等宽”到顶部超级视图。
然后我将等高约束设置为低优先级 250
现在我可以根据 phone 屏幕的大小随时滚动 :)
我正在尝试在 iphone 3.5 英寸屏幕中创建一个需要滚动的屏幕。我附上了包含 uiviewcontroller 、 uiscrollview 、 uiview 的配置的图像。问题是尽管高度似乎增加了,当我 运行 iPhone 4s 时,滚动的某些部分隐藏在 UIView 之外(尽管当我在控制台中打印高度时 uiview 高度显示 700)。可能是什么问题?请帮帮我?
您的约束具有负值。在最后一个屏幕截图中,我假设是 scrollView 内部视图的约束,超级视图的底部偏移量是 -400。
我认为这就是您看不到整个视图的原因,因为底部偏移量为负值。尝试将此值设置为 0,这应该可以解决问题。
如果这不能解决您的问题,也许您可以指定图像的约束是针对哪个视图。
让我知道进展如何!祝你好运!
当您使用 UIScrollView
和 AutoLayout
时,它总是很棘手。
您必须将所有子视图添加到一个 UIView
并将该视图添加到 UIScrollView
。
您需要的自动布局约束:
对于 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.
它会很有魅力(至少对我来说每次都有效:)
contentSize 必须大于滚动视图的框架才能滚动。 :)
在这种情况下,它们都是 (600, 1300)
,因此请将 scrollView 的高度更改为 (320,480)
这有点令人困惑,但正如 Yuvrajsinh 告诉您的那样,您需要将滚动视图的自动布局约束设置为它的超级视图的 4 个边。然后对scrollView的content做同样的事情,最重要的是:设置一个fixed/not与content的scrollview高度和宽度相关
感谢您提供的信息和建议。现在它工作正常。我所做的是
设置滚动视图顶部、左侧、右侧、底部与超级视图对齐
将滚动视图的内容视图设置为顶部、左侧、右侧、底部与滚动视图对齐
将滚动视图的内容视图设置为“等高”和“等宽”到顶部超级视图。
然后我将等高约束设置为低优先级 250
现在我可以根据 phone 屏幕的大小随时滚动 :)