问题标签 [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.

0 投票
1 回答
1427 浏览

list - SwiftUI:防止视图在 VStack 内展开

我有这样的 VStack,里面有列表

这段代码的问题是 List 试图尽可能多地扩展内容,尽管它只有 4 个联系人,但它占据了整个屏幕。

我可以使用将此高度设置为固定值frame(height: 240)

我认为是否有可能强制 List 像 Text() 视图一样包装其内容。即如果列表包装内容中有 4 行仅显示这 4 行,如果有 8 行扩展到这 8 行。然后我可以设置一些最大高度。400 上面的列表无法再展开,然后它将是可滚动的。

0 投票
1 回答
1020 浏览

swiftui - SwiftUI 中的曲线和路径

我正在尝试创建一个包裹在形状中的弯曲路径以附加到标签栏,但我无法获得所需的外观。在此处输入图像描述 这是我想要的外观。关于如何创建这种形状的任何想法?

0 投票
1 回答
763 浏览

swiftui - 如何更改 Lazy Grid GridItem 的固定大小以响应动态文本大小更改?

下面的代码使用 aLazyVGrid来实现我的控件的布局,以便所有内容都像这样排列:

在此处输入图像描述

特别地,滑块的末端全部对齐,并且符号彼此中心对齐。我已经研究了如何调整符号和数字读数的 GridItems 的大小,以使它们成为其内容的“正确大小”——既不灵活也不自适应 GridItems 将做的事情——同时考虑到 Dynamic Type

在测试中,只要用户在应用程序处于活动状态后不更改其动态类型大小,这就会非常有效。如果这样做了,类型(和符号)将按照它们应有的方式进行调整,但 GridItem 大小保持固定在其初始值。这会导致数字在小数点处换行。

有没有办法让 GridItem 调整大小以响应动态类型的变化,或者有没有更好的方法来做这个布局?

0 投票
1 回答
81 浏览

swift - SwiftUI LandScape NavigationTopBar 不会隐藏

我只想要所有视图之间的一个横向视图,所以我在 AppDelegate 中添加了下面的代码

我创建了一个自定义修改器,如下所示,以强制特定视图处于横向模式

我创建的视图如下所示:

所以问题是在横向模式下显示此视图后,navigationBar 将显示,即使我指定它应该隐藏,我也无法隐藏它。

这是 GamePlay 呈现的 roundIntro 视图

另一件事是在按下导航栏后退按钮后,它不会强制视图返回纵向模式。以下是现场照片: 在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
703 浏览

swiftui - 带有适合内容的列的 SwiftUI 网格?

SwiftUI 可以实现这种布局吗?

我希望第一列包含标签的大小,所以在这种情况下,它会大到足以显示“更大的标签:”。然后将剩余的空间留给第二列。

这种布局非常简单,具有自动布局。

SwiftUI 2020 具有LazyVGrid但我看到的设置列大小的唯一方法是使用硬编码数字。难道他们不明白多种语言和用户可调整的字体大小会导致什么问题吗?

0 投票
1 回答
65 浏览

swiftui - SwiftUI 围绕中心对象放置

假设蓝色矩形在红色矩形的中心,绿色需要在顶部,黄色在左侧。

在带有对齐指南的 SwiftUI 中如何做到这一点?没有一个尺寸是已知的,但黄色和蓝色高度匹配,绿色和蓝色宽度匹配。

在此处输入图像描述

0 投票
2 回答
674 浏览

ios - 如何使用 SwiftUI LazyVGrid 创建交错网格?

我正在尝试实现一个视图,其中包含网格中交错图像的 LazyVGrid - 如以下 Pinterest 提要所示:

在此处输入图像描述

我知道 WaterfallGird 库,但我想知道是否有办法使用 LazyGrid 而不是普通的 V/HGrid 来实现此功能。

0 投票
1 回答
70 浏览

ios - SwiftUI:为什么我的视图没有按照框架显示的那样显示在屏幕外?

我有一个界面,我希望能够在其中切换侧边菜单和工具栏。侧边菜单从右侧滑入/滑出,工具栏从底部滑入/滑出。

我正在使它通用,因此它可以重复用于任何想要使用的内容。

代码是这样的:

问题:鉴于预览设置,我认为我不应该看到工具栏。但我愿意。附件是 Canvas 的屏幕截图,其中 toolbarContent.frame(...) 行在代码中突出显示。您可以看到它显示了一个要在屏幕外绘制的框架,但内容并没有随它一起绘制在那里。

我按照代码使侧边菜单在水平轴上滑入/滑出,并认为我只需要对工具栏做基本相同的操作,但正如您所见,这种方法不起作用。

SwiftUI 代码的可视化表示

0 投票
1 回答
458 浏览

swift - SwiftUI 中是否支持 TimePicker (Hours, Mins, Secs) 之类的东西?

我正在尝试实现类似 iOS Timer App 时间选择器控件的功能:

在此处输入图像描述

我调查了 DatePicker,但它没有秒视图。

0 投票
2 回答
499 浏览

swift - SwiftUI 内容在较小的 iPhone 屏幕上被截断

我是 SwiftUI 的新手,所以我正在按照教程来熟悉它。但是,我的应用程序的内容在较小的屏幕(垂直和水平)上被截断。我怎样才能防止这种情况发生?

这是我的代码:

编辑:我已经在我的图像周围添加了边框,并按照您的评论和答案中的建议调整了图像的大小,但是正如您所看到的,这些图像似乎并没有占用比预期更多的空间。

以下是 iPod touch 上的预览效果: iPod 触摸预览