Ios Interface Builder对UIScrollView的正确约束是什么?来自IB的纯自动布局
我已经试着让Ios Interface Builder对UIScrollView的正确约束是什么?来自IB的纯自动布局,ios,uiscrollview,interface-builder,Ios,Uiscrollview,Interface Builder,我已经试着让ScrollView工作了两天了,但根本不起作用。SO和其他网站上的大多数建议都说,您需要将滚动视图固定到根视图,然后将内容视图(UIView)放在滚动视图内,然后将其固定到滚动视图(以便滚动大小可以确定内容大小…但是这不起作用)。还有一些相互矛盾的信息,说从滚动视图的底部到内容视图的底部需要有一个约束。这两种解决方案都不适用于我。以下是我在尝试的大多数组合中所做的: UIView->UIScrollView 将UIScrollView的所有侧面固定到UIView 创建一个ui视图(
ScrollView
工作了两天了,但根本不起作用。SO和其他网站上的大多数建议都说,您需要将滚动视图
固定到根视图
,然后将内容视图(UIView)
放在滚动视图
内,然后将其固定到滚动视图
(以便滚动大小
可以确定内容大小
…但是这不起作用)。还有一些相互矛盾的信息,说从滚动视图的底部到内容视图的底部需要有一个约束。这两种解决方案都不适用于我。以下是我在尝试的大多数组合中所做的:
UIView
->UIScrollView
将UIScrollView
的所有侧面固定到UIView
创建一个ui视图
(将其命名为content视图
)并将其放置在ui视图
将UIView
的所有侧面固定到UIScrollView
此时的问题:UIScrollView
需要约束
用于X
或width
和Y
或width
。似乎唯一能解决投诉的方法是将UIView
设置在滚动视图
的水平和垂直居中,但这并不能解决问题使滚动工作。另一个选项是将ui视图
的高度和宽度设置为滚动视图
,但同样,这除了删除投诉之外没有其他作用
我不明白。难道不是钉住两边,设置约束条件吗?IB
似乎认为情况并非如此
所需的正确约束条件是什么?我只需要一个带有堆叠的控件的简单视图(填写表单),如果表单比屏幕长,屏幕需要能够滚动
我是第一次使用iOS,现在完全从IB
构建…最小的代码解决方案将是最好的。你已经完成了一半。首先你需要决定你将在scrollview中显示什么,你已经放置了一个内容视图,它需要有一个固有的大小。你可以选择放置静态或动态views.静态视图将在设计时定义其大小,这将解决UIScrollView自动布局约束。如果您在运行时使用动态视图进行此操作,则需要为内容视图选择默认大小,为视图的宽度和/或高度创建IBOutlet,然后在运行时调整其大小viewDidLayoutSubviews中的e outlet。您链接的视频对此进行了非常清楚的解释。您已经完成了一半。首先,您需要确定要在scrollview中显示的内容,您已经放置了一个内容视图,该视图需要具有固有的大小。您可以选择放置静态视图或动态视图。静态视图的大小将被定义在设计时定义,这将解决UIScrollView自动布局约束。如果在运行时使用动态视图执行此操作,则需要为内容视图选择默认大小,为视图的宽度和/或高度创建一个IBOutlet,然后在运行时更改ViewDidLayoutSubView中的outlet来调整其大小。video you linked对此解释得非常清楚。作为您链接的视频的创建者,我确信它描述了一种工作技术。发布布局和约束的屏幕截图。可能会提供一个到测试情节提要的链接。我确认@robmayoff发布了一个正确和完整的解决方案。@robmayoff确实有效。我缺少的是将中心X与ContentView上的视图对齐。它现在可以工作了,谢谢。它是意外添加的…通过“添加缺少的约束”。作为您链接的视频的创建者,我确信它描述了一种工作技术。发布布局和约束的屏幕截图。可能会提供到测试情节提要的链接。我确认@robmayoff发布了一个正确且完整的解决方案。@robmayoff确实有效。我缺少的是在ContentView上对齐中心X的视图。它现在可以工作了,谢谢。它是通过“添加缺少的约束”意外添加的。