UIScrollView自动布局无法正常工作,内容视图的宽度问题。

3
我在一年半之后重新开始开发iOS应用,但使用UIScrollView和自动布局时遇到了困难。
我正在开发一个仅在iPhone上以纵向方向运行的应用程序。
我的内容视图中有一个简单的表单...
- 标签 - 文本框 - 文本框 - 文本框 - 文本框 - 按钮 - 文本框 - 视图
- 图像视图 - 标签
问题出在contentView内容的宽度上。标签已定义其大小。我想(而且确实需要)根据屏幕大小调整大小。
以下是我的第一个文本字段的约束: enter image description here 以下是模拟器屏幕运行应用程序的截图: enter image description here

如我之前提到的那样,它似乎根据标签而不是屏幕尺寸来获取大小。如果我为第一个标签创建一个尺寸约束,这个尺寸会改变,但我希望根据屏幕动态获取大小。

我没有编写任何代码,我希望首选使用自动布局来更好地理解自动布局的概念。

如果有人能帮我解决这个问题...我将非常感激。

2个回答

5

将您的contentView.width设置为与scrollview.width相等。


当您将iPad从横向旋转到纵向时,似乎无法在Xcode 10、iOS 12上正常工作。 - bio
也许在ScrollView中使用StackView也是一种解决方案:https://stackoverflow.com/a/36783860 - Bruno Bieri

0

为您的滚动视图内容视图子项添加一个约束,使其宽度与根级视图相同。


你是说要使内容视图与视图的宽度相同(顶级视图)吗?我已经做了! :/ - Alessandro Garcez
你能贴上一张内容视图的约束条件快照吗? - NRitH
嗯。等宽约束看起来不错。InterfaceBuilder是否显示任何布局警告或错误?我唯一看到的问题是contentView的高度不应设置为等于根视图的高度,因为那样它就无法滚动了。 - NRitH
没有错误或警告。 谈到垂直滚动,我刚刚在contentView的最后一个元素中添加了一个约束,底部空间使用标准值...它起作用了。 - Alessandro Garcez
可以在这里查看: http://stackoverflow.com/questions/32145847/uiscrollview-and-auto-layout-not-working - Alessandro Garcez
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接