平滑肌
我在堆栈视图中有 3 个元素。
- 一个是电子邮件 - TextField,
- 其他是密码 - 文本字段;
- 最后一个是 UIView,里面有按钮。
当我运行它时,该视图中的按钮没有响应,而堆栈视图中的相同视图正常响应。此外,当我在该堆栈视图中放置一个按钮时,它会起作用,但是当它在堆栈视图中的视图中时,它不会。
我错过了一些东西,但什么?谢谢
翅膀
嘿,问题是未定义的约束。在这里,我刚刚创建了一个简单的解决方案来帮助您。它并不完美,但会很有帮助 当您使用堆栈视图时,您需要记住几件事。有stackView
水平和垂直两种类型,stackView
并stackView
具有一些属性,例如
轴- 意味着你想要它水平或垂直
对齐- 当你看到时,你可以理解,填充领先中心和训练很简单
分布- 在我看来,它是堆栈视图中最重要的部分
- Fill 将使其中三个保持其自然大小,并使第四个占据最多的空间。它使用自动布局的内容拥抱优先级来决定拉伸哪一个。
- Fill Equally 将使每个子视图具有相同的大小,以便它们填充堆栈视图的所有可用空间。
- 按比例填充使用每个子视图的内在内容大小以等量调整它们的大小。因此,视图 1 的高度被设计为视图 2、3 和 4 的两倍,调整大小时该比例将保持不变——所有子视图按比例变大或变小。
- Equal Spacing 不会调整子视图的大小,而是调整子视图之间的间距以填充空间。
- 等中心化是最复杂的,但对许多人来说也是最美观的。它试图确保每个子视图的中心等距。这可能意味着视图 1 的右边缘距视图 2 的左边缘仅 10 个点,而视图 2 的右边缘距视图 3 的左边缘仅 50 个点,但重要的是视图 1 的中心, 2, 3 和 4 的间距相同。
间距- 间距用于提供标签、按钮等对象之间的空间。
我将项目 15 和分布填充之间的间距设置为相等,以便它们可以填充stack view
.
这是项目https://github.com/waytorohit/SOreadytohelp的链接,以便您更好地理解。
参考资料 - https://www.hackingwithswift.com/read/31/2/uistackview-by-example
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句