【发布时间】:2018-02-04 17:10:41
【问题描述】:
好的,所以我有一个 UIScrollView,它被限制在主视图的所有四个边上,垂直和水平居中,并设置为与视图具有相等的宽度和高度。当我运行应用程序时,我放在 UIScrollView 顶部的所有子视图都会显示出来,正是我希望它们出现的位置,但只有底部的 UITextView 没有。似乎我已经尝试了所有约束组合,但无论我做什么,当我运行应用程序时它都不会出现。下面是界面生成器中的约束截图:
即使我在运行之前预览文件 Main.storyboard,它看起来也是这样的:
但是当我实际运行应用程序时,屏幕缺少 UITextView,即使我以多种方式更改了约束:
任何有关此问题的帮助将不胜感激!提前致谢。
【问题讨论】:
-
为什么会有这些红色限制?您需要解决自动布局问题。
-
是的,我知道,但我不能让它们不红。有什么建议吗?
-
听起来你的约束太多了;要么将视图限制在前导/尾随/顶部/底部,要么设置其中心和宽度/高度,但不能同时设置。
-
避免将所有子视图直接放在滚动视图中。自动布局将分解。您需要 1:在 UIScrollView 中添加一个 UIView,约束为 0-0-0-0 以引导至 UIScrollView 的上下尾随,并将所有子视图放入该 UIView 中。之后,您需要通过代码设置 UIScrollView 的 contentSize。此外,您可以使用添加缺失的约束来查看缺失的内容,或者在 StoryBoard 的左侧面板中,您可以按出现的红色箭头。
-
@Sneak 你添加缺失约束的建议给了我蓝色约束,现在 UITextView 出现在应用程序中!
标签: ios iphone uiscrollview constraints uitextview