swiftui-list相关内容

SwiftUI:更新数组项不会立即更新子 UI

我有一组项目(数字)要使用 NavigationView、List 和叶子页面呈现给用户. 当我更新叶子页面上的项目 (numbers[index] = ...) 时,它会正确更新列表(当我返回列表时会看到),但不会立即更新叶子页面本身.如果我返回列表并重新打开同一个叶子页面,我会看到变化. 我想了解它为什么不立即更新 UI,以及如何修复它.以下是重现此行为的简化代码. 附加信息 ..
发布时间:2021-09-02 19:32:21 其他开发

列表中的 SWiftUI anchorPreference

我正在使用 anchorPreferences 来设置 GeometryReader 的 height 以适合其内容的 height.我遇到的问题是,在 List 上下滚动几次后,应用程序冻结,设计变得混乱,并且我在控制台中收到以下消息: 绑定首选项 CGFloatPreferenceKey 尝试每帧更新多次. 有什么想法可以解决这个问题吗? 重要提示:我已经尽可能地简化了我的设计. ..
发布时间:2021-09-02 19:32:09 其他开发

在 SwiftUI 中使用 List 时,如何使用 NavigationLink isActive 绑定?

用例非常简单.我有一个地点列表,每个地点对应一个地理围栏.我需要在用户位于其地理围栏内的特定行中启用导航.该列表是动态的,是从 API 中获取的.Stackoverflow 上也有类似的问题,但那些只针对静态列表. 我尝试使用 bool 字典,但无法使其正常工作. 这是一个简化的模拟代码: struct ListView: View {@State private var navAc ..
发布时间:2021-09-02 19:31:16 移动开发

如何在不在编辑模式下的 SwiftUI 列表中重新排序行?

是否允许在不在编辑模式下的 SwiftUI 列表中重新排序行? 也就是说给行一个右手边的汉堡菜单图标,他们可以用它来重新排序一行?(就像在编辑模式下是可能的) 解决方案 如果我正确理解了您的问题,那么可以这样做: 导入 SwiftUIstruct TestEditModeCustomRelocate:查看{@State 私有变量对象 = ["1", "2", "3"]@State ..
发布时间:2021-09-02 19:30:24 其他开发

从 SwiftUI 列表访问底层 UITableView

使用 List 视图,有没有办法访问(并因此修改)底层 UITableView 对象,而无需将整个 List 重新实现为UIViewRepresentable? 我已经尝试在我自己的 UIViewRepresentable 中初始化一个 List,但是我似乎无法在需要时让 SwiftUI 来初始化视图,而且我只需获取一个没有子视图的空基本 UIView. 这个问题是为了帮助找到Swif ..
发布时间:2021-09-02 19:30:19 移动开发

如何修复 TabView 中 NavigationView 中 List 下的灰色条?

所以我遇到了一个问题,我的列表下方出现了一个灰色条,当我单击一个单元格转到另一个视图时,会出现一个更大的灰色条.这是列表视图的代码: VStack{导航视图{虚拟堆栈{列表{ForEach(answersArray.indices, id: \.self) { day inNavigationLink(destination: DetailView(questions: self.answer ..
发布时间:2021-09-02 19:27:58 其他开发

SwiftUI:点击时更改列表行突出显示颜色

点击列表行时的默认颜色为灰色. 我知道如何使用 .listRowBackground 更改背景颜色,但随后它会更改为整个列表. 如何在点击时更改为自定义颜色,以便只有被点击的行保持红色? 导入 SwiftUIstruct ExampleView:查看{@State private var Fruits = ["Apple", "Banana", "Grapes", "Peach"]v ..
发布时间:2021-09-02 19:27:46 其他开发

如何在 SwiftUI 列表中获取行索引?

我想要一个编号列表,其中每一行都有一个数字. 像这样 但我在 List 初始化程序 中没有看到正确的 API 此时我看到了这个解决方法 var people = ["Boris", "Anna", "Tom"]//标记: - 身体func body(props: 道具) ->一些视图{List(persons.indices, id: \.self) { index inText ..
发布时间:2021-09-02 19:27:43 移动开发

在 SwiftUI 分组表中按下“编辑模式"按钮之前不会删除行

我使用 ObservableObject 作为数据源在 SwiftUI 中实现了一个分组表.嵌套的 ForEach 用于生成每个部分.EditMode() 按钮切换环境属性.在编辑模式下,当删除操作完成时,被删除的行(意外)保留在屏幕上.(即使该对象已从数据源数组中删除.)当用户返回正常查看模式时,该对象迟早从表中删除. 为了尝试追踪错误: 数据源对象符合 Hashable、Ident ..
发布时间:2021-09-02 19:27:00 其他开发

在 SwiftUI macOS 应用程序中根据 NavigationView 更改窗口大小

我将 SwiftUI 用于主窗口包含 NavigationView 的 Mac 应用程序.此 NavigationView 包含一个侧边栏列表.选择侧栏中的项目时,它会更改详细视图中显示的视图.详细视图中显示的视图大小不同,这应该会导致窗口大小在显示时发生变化.但是,当详细视图更改大小时,窗口不会更改大小以适应新的详细视图. 如何根据NavigationView的大小改变窗口大小? 我 ..
发布时间:2021-09-02 19:25:39 其他开发

ScrollView 中的 SwiftUI 列表

我想将我的 List 放在 ScrollView 中,以便我可以一起滚动 List 行和标题.但是我发现 ScrollView 中的 List 不起作用.它什么也没显示.任何人都知道为什么会发生这种情况和(或)如何解决? 我应该同时使用它们. 我应该使用 ScrollView 以便在滚动行时也可以滚动标题(图像或文本). 我应该使用 List 来使用 .ondelete() 方法. ..
发布时间:2021-09-02 19:23:25 移动开发

如何在 SwiftUI 中有效过滤长列表?

我一直在编写我的第一个 SwiftUI 应用程序,用于管理图书收藏.它有一个包含大约 3,000 个项目的 List,可以非常有效地加载和滚动.如果使用切换控件过滤列表以仅显示我没有 UI 冻结的书籍在更新前二十到三十秒,大概是因为 UI 线程正忙于决定是否显示 3,000 个单元格中的每一个. 在 SwiftUI 中是否有处理此类大列表更新的好方法? var body: some Vie ..
发布时间:2021-09-02 19:23:11 其他开发

SwiftUI - 如何在列表中编辑行?

我想使用 EditButton() 来切换编辑模式,并将我的列表行切换到编辑模式.我想在编辑模式下包含一个新按钮以打开模态.我什至无法获得 EditMode 值来切换行内容. struct ContentView: View {@Environment(\.editMode) var isEditModevar sampleData = ["Hello", "This is a row", "S ..
发布时间:2021-09-02 19:21:51 其他开发

Swiftui ,按钮网格视图

我在这里检查了几个关于网格视图的问题,但我的问题有点不同,我想为按钮创建一个网格视图,以便按下每个按钮时导航到不同的视图,所以它看起来像这个图像:这是网格按钮视图 所以我在这里写了这段代码,但看起来我并没有很成功地得到我想要的东西,有没有更好的想法来实现这种设计为网格视图? 导入 SwiftUIstruct MainCollectionView:查看{var MainCollectionV ..

SwiftUI Nested ForEach 导致意外排序

我以嵌套方式使用了两个 ForEach(),一个用于显示部分,另一个用于显示列表视图的各个单元格. 我的问题是第一个 ForEach 中的迭代器变量在第二个 ForEach 中访问它时表现得非常奇怪. 在我附上的这个 gif 中,当我向上或向下滚动时,Round 后面的第一个变量(下面代码片段中的 ri)有时会改变它的值.然而,这个变量的值在第一个 ForEach 中总是相同的,正如我 ..
发布时间:2021-09-02 19:16:38 移动开发