gpt4 book ai didi

ios - 根据屏幕高度更改 UIStackView 中项目的高度

转载 作者:行者123 更新时间:2023-11-29 00:10:31 26 4
gpt4 key购买 nike

我在最新的 Xcode 中使用 UIStackViews,布局如下所示:

文字标签
选择器(1 个组件)
文本标签
选择器(1 个组件)
文本标签
选择器(4 个组件)
分段控制(3段)

我有以下 UI 约束:

StackViewTop = SafeAreaTop + 8
StackViewLeading = SafeAreaLeading + 8
StackViewTrailing = SafeAreaTrailing - 8
Picker_1 = 96px
Picker_2 = Picker_1 高度
Picker_3 = Picker_2 高度

使用组件的固有尺寸(除了我设置为 96px 的 3 个拾取器)一切都适合 iPhone SE (568px),但是拾取器相当短。在任何其他设备上,都有更多的垂直空间使选择器更高。

当有可用的垂直空间时,我想让三个拾取器将它们的高度增加到它们的固有高度;我无法在 Interface Builder 中找到正确的设置组合来完成这项工作。有办法做到这一点吗?

这个问题的第二部分是,如果屏幕足够宽,我希望限制堆栈 View 的宽度(可能为 512)并居中。

最佳答案

当涉及到您问题的第一部分时。

这就是你应该如何配置你的堆栈 View 。除了您所做的之外,我还会添加一个大于或等于符号的底部约束。它不会让堆栈 View 超出范围。

StackView configuration

更新

在查看了您的 layout 之后我稍微更改了解决方案。

  • 拾取器的高度相等配置方式与您相同。
  • 顶部选择器的高度限制大于或等于 96。如果有足够的空间,它会让自动布局引擎增加它的大小。
  • 所有标签和段控件都有垂直内容压缩阻力优先级设置为 1000(必需)。
  • 顶部选择器具有垂直内容压缩阻力优先级设置为 250(低)。

您可以在这个 GitHub repository 中找到我的实现.
这是结果。

enter image description here

关于ios - 根据屏幕高度更改 UIStackView 中项目的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com