swift - SwiftUI 菜单从上到下的顺序因上下文而异?
问题描述
我想我知道这个问题的答案,但我会提出一个问题并给出我的答案,因为这对我来说有点令人费解,我花了一点时间才弄清楚。
我刚刚开始Menu
在 SwiftUI 中使用 's。在我第一次使用它们时,我在我的应用程序的导航栏中使用了它们。
Menu {
ForEach(pickers, id: \.mediaPickerUIDisplayName) { picker in
Button(action: {
viewModel.sheetToShow = .picker(picker)
}) {
Text(picker.mediaPickerUIDisplayName)
}.enabled(picker.mediaPickerEnabled)
}
} label: {
SFSymbolIcon(symbol: .plusCircle)
}
它看起来不错。
然后,我更改了使用相同代码的上下文。我没有在导航栏中使用它,而是在屏幕中央使用它。相反,我看到:
令我感到不安的是,列表中项目的从上到下的顺序发生了变化。
解决方案
是的。这是我个人认为非常糟糕的“原生”行为。想象一下,您在底部有一个删除按钮,并且突然没有任何警告,仅因为元素已移动到中线上方/下方,因此顺序更改。肌肉记忆会启动,用户会非常困惑。这是一个具有灾难性后果的疏忽。
推荐阅读
- tensorflow - 如何仅将一半的 RNN 输出馈送到 tensorflow 中的下一个 RNN 输出层?
- node.js - 如何使“apollo 服务器”与 graphql schemaObject 一起使用?
- flutter - 如何在 DefaulfTabController 上对齐左选项卡?
- python - 我可以使用回归模型进行样本外预测吗?
- javascript - 更改工具栏背景颜色并在身体倾斜时做出反应
- perforce - 仅同步仓库中的差异但收到错误“-必须参考客户端”
- python - 最奇怪的 Python dict AttributeError
- intellij-idea - 无法为锁定文件 C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.4\ 创建父目录
- xml - ssis - 获取更多 xml 文件已定义为可选标签的数据
- android - Activity 中 OnBackPressedCallback 的默认行为?