问题标签 [swiftui-layout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
list - SwiftUI:防止视图在 VStack 内展开
我有这样的 VStack,里面有列表
这段代码的问题是 List 试图尽可能多地扩展内容,尽管它只有 4 个联系人,但它占据了整个屏幕。
我可以使用将此高度设置为固定值frame(height: 240)
我认为是否有可能强制 List 像 Text() 视图一样包装其内容。即如果列表包装内容中有 4 行仅显示这 4 行,如果有 8 行扩展到这 8 行。然后我可以设置一些最大高度。400 上面的列表无法再展开,然后它将是可滚动的。
swiftui - 如何更改 Lazy Grid GridItem 的固定大小以响应动态文本大小更改?
下面的代码使用 aLazyVGrid
来实现我的控件的布局,以便所有内容都像这样排列:
特别地,滑块的末端全部对齐,并且符号彼此中心对齐。我已经研究了如何调整符号和数字读数的 GridItems 的大小,以使它们成为其内容的“正确大小”——既不灵活也不自适应 GridItems 将做的事情——同时考虑到 Dynamic Type。
在测试中,只要用户在应用程序处于活动状态后不更改其动态类型大小,这就会非常有效。如果这样做了,类型(和符号)将按照它们应有的方式进行调整,但 GridItem 大小保持固定在其初始值。这会导致数字在小数点处换行。
有没有办法让 GridItem 调整大小以响应动态类型的变化,或者有没有更好的方法来做这个布局?
swiftui - 带有适合内容的列的 SwiftUI 网格?
SwiftUI 可以实现这种布局吗?
我希望第一列包含标签的大小,所以在这种情况下,它会大到足以显示“更大的标签:”。然后将剩余的空间留给第二列。
这种布局非常简单,具有自动布局。
SwiftUI 2020 具有LazyVGrid
但我看到的设置列大小的唯一方法是使用硬编码数字。难道他们不明白多种语言和用户可调整的字体大小会导致什么问题吗?