Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为视图设置约束_Ios_Xcode_Autolayout_Uistackview - Fatal编程技术网

Ios 为视图设置约束

Ios 为视图设置约束,ios,xcode,autolayout,uistackview,Ios,Xcode,Autolayout,Uistackview,我最近开始使用UIStackViews auto layout,但不断遇到屏幕截图上的警告,我不知道如何消除这些警告 任何帮助都将不胜感激 [1]: https://i.stack.imgur.com/a4aUp.png [2]: https://i.stack.imgur.com/U7knK.png [3]: https://i.stack.imgur.com/tcPO0.png [4]: https://i.stack.imgur.com/Ti3IH.png [5]: h

我最近开始使用UIStackViews auto layout,但不断遇到屏幕截图上的警告,我不知道如何消除这些警告

任何帮助都将不胜感激

  [1]: https://i.stack.imgur.com/a4aUp.png
  [2]: https://i.stack.imgur.com/U7knK.png
  [3]: https://i.stack.imgur.com/tcPO0.png
  [4]: https://i.stack.imgur.com/Ti3IH.png
  [5]: https://i.stack.imgur.com/PMTrj.png
  [6]: https://i.stack.imgur.com/0LJh7.png

您的
stackView
中有许多
ui视图
,而
ui视图
没有任何固有高度,因此存在歧义。
stackView
基本上不知道要为内部
uiview
元素设置什么高度,因此也不知道它们将从哪个y位置开始

解决方案#1:
  • 选择包含所有其他
    stackView
    的最顶部的
    stackView
    ,并在其属性检查器中,将其分布更改为
    按比例填充
  • 为后退按钮提供X和Y位置


解决方案#2:
  • 除了最后一个
    底部空间


此外,不必要地嵌套了
stackView
s。此外,您没有
堆栈视图中执行所有操作

第一个视图看起来像是需要一个带有后退按钮的顶部栏。您应该将
navigationBar
navigationItem
一起使用,除非您的设计有特殊要求,否则它不需要也不应该位于
stackView

最后一个视图看起来像是要留出空间,因此在
stackView
中有一个
bottomSpace
视图,这两个视图都是不必要的

解决方案#3
  • 重新设计布局并进一步简化。
    对于您的布局,您可以使用单个
    stackView
    btw
例如,它不完全符合您的设计,但接近:

是否约束了stackview?您必须完全约束stackview。请添加更多详细信息,在尺寸检查器中显示约束。很难说是什么错了……在将高级stackview的所有四个侧面固定到实际视图@Brandonshow所有约束后,我是否需要为每个stackview设置约束。这不是最高级的。其中一个内部StackView约束导致ambiguity@staticVoidMan我不太清楚你的意思,我已经将顶部的stackview和所有其他的stackview嵌入其中,固定在主视图的4个侧面,感谢警告消失了。非常感谢您的帮助,而且您是对的,有些StackView是不必要的。我将以一个简单得多的设计重新开始。我决定使用您的第一个解决方案,因为它与我所追求的设计配合得很好。但是,在为标签设置约束时,我发现自己出现了以下错误:当我添加具有大于或等于关系的尾部约束时,我得到了以下警告:@AaronOwusu您确定是标签导致了该警告吗?在您的第二个屏幕截图中,该警告仍然存在,另外还有一个新的警告。像这样帮忙有点困难。基本上,您需要进一步熟悉autolayout引擎。我仍然会通过评论尽可能多地提供帮助。您对我在哪里可以了解有关自动布局的更多信息有什么建议吗?youtube有一些例子,但它们与我想要创建的内容并不相关。@AaronOwusu了解自动布局,它的可能性和局限性,然后重新思考您的设计并开始尝试。尝试以下教程: