swiftui - 如何订购 3 路领带?
问题描述
我正在开发一个应用程序,该应用程序涉及输入玩家最终获得的卡片数量,并将它们排列在一个列表中。但是如果有 2 或 3 方式的领带,我希望用户能够有一个菜单,让他们选择谁拥有最高卡到最低卡的顺序,这样我就可以组织列表。我如何让用户订购它们,比如什么样的警报/弹出窗口可以让我这样做?
编辑:基本上我在问如何制作一个选择器,让您将多个项目排列成特定的顺序,但似乎最好的办法就是让每个项目的按钮出现一个堆栈,您可以在其中单击它们并从在那里创建您的订单。希望这对处于类似情况的任何人有所帮助!
解决方案
对于他们所做的不仅仅是点击一个选项(在您的情况下,您希望他们订购各种卡片)的那种用户交互,我将创建您自己的自定义视图,而不是使用警报或操作表或类似的。
您实现的方式将取决于您希望它的外观。如果您希望视图显示在当前视图之上(有点像警报),它只占用内容所需的空间),那么您可以嵌入 zStack。如果您希望它从底部向上滑动,其大小几乎与全屏相同,则可以使用工作表(有时也称为模态)。
有点难以解释它们的视觉效果——如果你用谷歌搜索“SwiftUI sheet”然后你就会明白我的意思(如果你还不熟悉它们)
ZStack 您将当前视图放在 ZStack 中,然后创建一个新视图,该视图位于 ZStack 之后,但您将其包装在 if 语句中,以便根据布尔值为真有条件地显示。
例如
if gameTied { ChooseSortOrderView() }
然后当你的游戏结束时——如果是平局,你将布尔值设置为 true 并弹出新视图。
你可以传入绑定的卡片,让用户通过拖放、表单、选择器(无论你想要什么)对它们进行排序,然后提交。然后将 bool 设置回 false 以使视图消失。
sheet 使用 zstack 的另一种替代方法是 sheet,因此您会看到模态视图。类似的方法,但不是 ZStack,而是使用 .sheet 修饰符。
推荐阅读
- json - PostgreSQL 动态查询通过函数中的 2 个参数将 json 字符串(文本)插入表(文本)
- javascript - How to callback function in set timeout node js
- python - pandas df中的累积计数
- javascript - 手风琴的组装结构和循环
- swift - 新推特更新认证
- zendesk - ZendeskApi.Tickets.CreateTicket 抛出 401 尽管“任何人都可以提交工单”已启用
- sql - SQL 表 - 根据条件组合行
- vba - Excel VBA 无法获取网站的元素和输入数据
- odata - Power BI Desktop Odata 数据限制
- python-3.x - 如何理解这个 Pygame 错误?