需要帮助更好地理解 UIStackView

Posted

技术标签:

【中文标题】需要帮助更好地理解 UIStackView【英文标题】:Need help better understanding UIStackView 【发布时间】:2016-07-27 15:37:06 【问题描述】:

我通过此tutorial 观看以了解UIStackView,但我仍然遇到问题。 This 是我现在正在使用的。下半部分(部分被日期选择器覆盖)是我想要实现的。

一行三个水平视图,下面三个垂直视图。从我的 stackview 层次结构中可以看出,白色背景视图和橙色背景视图位于垂直堆栈中。我没有触摸带有白色背景的视图来显示正在发生的事情的对比。

月、日、周在水平堆叠中。 秒、分、小时是垂直堆叠的。 那么这两个堆栈在一个垂直堆栈中。

垂直堆栈在每个方向固定 20 像素。

我不确定如何解决此问题。

谢谢!

【问题讨论】:

【参考方案1】:

如果不能查看每个约束和堆栈视图设置,很难给你一个明确的答案,但这里有一些指针可能会让你到达某个地方:

您的秒、分和小时堆栈视图包含三个水平堆栈视图,每个视图仅包含一个“卡片视图”。这些堆栈视图没有做任何事情,因此我建议将其简化为垂直堆栈视图中的三个卡片视图。 您的堆栈视图可能与您认为的不一样。模拟器中的外观表明它没有固定在它所在的视图上。或者,该视图可能未正确固定到***视图。 上述排序完成后,您可能需要查看堆栈视图设置,我怀疑您在最低级别的垂直和水平堆栈视图都应设置为平均填充,目前可能并非如此. 要检查的另一件事是您没有相互冲突的约束。如果您将东西放入已经定义了高度、宽度、纵横比等的堆栈视图中,那么这可能会干扰堆栈视图发挥它们的作用。 最后,如果所有其他方法都失败了,请丢弃所有堆栈视图和约束,并使用尽可能少的每个视图和约束来重建它们。首先堆栈视图,然后是堆栈视图设置,然后仅在您需要的地方进行约束。

一般来说,我建议不要在界面构建器中使用“iPhone 形”视图控制器,它们往往会隐藏运行时或不同尺寸设备上会出现的问题,并给人一种虚假的安全感。通用的方形视图是更好的选择。最后,不要放弃,所有掌握堆栈视图的人都曾在某个时候绝望地看着这样的屏幕,双手抱头!

【讨论】:

以上是关于需要帮助更好地理解 UIStackView的主要内容,如果未能解决你的问题,请参考以下文章

有人可以帮助我更好地理解 Room 持久性库吗?

帮助我更好地理解 Struts2、验证和有状态操作

我没有完全得到“存在”的部分。谁能帮助我更好地理解它? [关闭]

有人可以帮助我更好地理解正则表达式中的零或一,并可能在同一个正则表达式语句中嵌套另一个

更好地理解 javascript 预编译

如何更好地理解如何阅读 Flutter 代码? [关闭]