微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何订购三向领带?

如何解决如何订购三向领带?

我正在开发一个应用程序,该应用程序涉及输入玩家最终获得的卡片数量,并在列表中对它们进行排序。但是,如果有 2 或 3 路平局,我希望用户能够拥有一个菜单,让他们可以选择从最高卡到最低卡的顺序,这样我就可以组织列表。我如何让用户订购它们,比如什么样的警报/弹出窗口让我这样做?

编辑:基本上我是在问如何制作一个选择器,让您将多个项目排列成特定的顺序,但似乎最好的办法就是为每个项目显示一个带有按钮的堆栈,您可以在其中单击它们然后从那里创建您的订单。希望这对处于类似情况的任何人都有帮助!

解决方法

对于这种用户交互,他们所做的不仅仅是点击一个选项(在您的情况下,您希望他们订购各种卡片),我会创建您自己的自定义视图,而不是使用警报或操作表或类似。

您实施的方式将取决于您希望它的外观。如果您希望视图出现在当前视图的顶部(有点像警报那样),它只占用内容所需的空间),那么您可以嵌入 zStack。如果您希望它从底部向上滑动到与全屏几乎相同的大小,那么您可以使用工作表(有时也称为模态)。

有点难以解释它们的视觉效果——如果你用谷歌图片搜索“SwiftUI sheet”,你就会明白我的意思(如果你还不熟悉它们)

ZStack 您将当前视图放在 ZStack 中,然后创建一个新视图,该视图位于 ZStack 之后,但您将其包装在 if 语句中,以便根据布尔值为 true 有条件地显示它。

例如

if gameTied { ChooseSortOrderView() }

然后当您的游戏结束时 - 如果是平局,则将布尔值设置为 true 并弹出新视图。

您可以传入绑定的卡片,让用户通过拖放、表单、选择器(任何您想要的)对它们进行排序,然后提交。然后将 bool 设置回 false 以使视图消失。

工作表 另一种不使用 zstack 的替代方法是工作表,因此您会看到一个模态视图。类似的方法,但不是使用 ZStack,而是使用 .sheet 修饰符。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。