swiftui-list相关内容
我有一组项目(数字)要使用 NavigationView、List 和叶子页面呈现给用户. 当我更新叶子页面上的项目 (numbers[index] = ...) 时,它会正确更新列表(当我返回列表时会看到),但不会立即更新叶子页面本身.如果我返回列表并重新打开同一个叶子页面,我会看到变化. 我想了解它为什么不立即更新 UI,以及如何修复它.以下是重现此行为的简化代码. 附加信息
..
我正在使用 anchorPreferences 来设置 GeometryReader 的 height 以适合其内容的 height.我遇到的问题是,在 List 上下滚动几次后,应用程序冻结,设计变得混乱,并且我在控制台中收到以下消息: 绑定首选项 CGFloatPreferenceKey 尝试每帧更新多次. 有什么想法可以解决这个问题吗? 重要提示:我已经尽可能地简化了我的设计.
..
我有一个简单的 List,其中的部分存储在 ObservableObject 中.我想从另一个角度对它们重新排序. 这是我的代码: class ViewModel: ObservableObject {@Published var 部分 = [“S1"、“S2"、“S3"、“S4"]func move(from source: IndexSet, to destination: Int)
..
用例非常简单.我有一个地点列表,每个地点对应一个地理围栏.我需要在用户位于其地理围栏内的特定行中启用导航.该列表是动态的,是从 API 中获取的.Stackoverflow 上也有类似的问题,但那些只针对静态列表. 我尝试使用 bool 字典,但无法使其正常工作. 这是一个简化的模拟代码: struct ListView: View {@State private var navAc
..
是否允许在不在编辑模式下的 SwiftUI 列表中重新排序行? 也就是说给行一个右手边的汉堡菜单图标,他们可以用它来重新排序一行?(就像在编辑模式下是可能的) 解决方案 如果我正确理解了您的问题,那么可以这样做: 导入 SwiftUIstruct TestEditModeCustomRelocate:查看{@State 私有变量对象 = ["1", "2", "3"]@State
..
使用 List 视图,有没有办法访问(并因此修改)底层 UITableView 对象,而无需将整个 List 重新实现为UIViewRepresentable? 我已经尝试在我自己的 UIViewRepresentable 中初始化一个 List,但是我似乎无法在需要时让 SwiftUI 来初始化视图,而且我只需获取一个没有子视图的空基本 UIView. 这个问题是为了帮助找到Swif
..
我在 SwiftUI 中创建了一个列表.我想更改颜色或删除分隔符,因为在 UIKit 中,我们可以轻松更改 TableView 中分隔符的颜色. 下面是SwiftUI中列表的代码和UI(图片) @State private var users = ["Paul", "Taylor", "Adele"]var主体:一些视图{列表(){ForEach(users, id: \.self) {
..
所以我遇到了一个问题,我的列表下方出现了一个灰色条,当我单击一个单元格转到另一个视图时,会出现一个更大的灰色条.这是列表视图的代码: VStack{导航视图{虚拟堆栈{列表{ForEach(answersArray.indices, id: \.self) { day inNavigationLink(destination: DetailView(questions: self.answer
..
点击列表行时的默认颜色为灰色. 我知道如何使用 .listRowBackground 更改背景颜色,但随后它会更改为整个列表. 如何在点击时更改为自定义颜色,以便只有被点击的行保持红色? 导入 SwiftUIstruct ExampleView:查看{@State private var Fruits = ["Apple", "Banana", "Grapes", "Peach"]v
..
我想要一个编号列表,其中每一行都有一个数字. 像这样 但我在 List 初始化程序 中没有看到正确的 API 此时我看到了这个解决方法 var people = ["Boris", "Anna", "Tom"]//标记: - 身体func body(props: 道具) ->一些视图{List(persons.indices, id: \.self) { index inText
..
我使用 ObservableObject 作为数据源在 SwiftUI 中实现了一个分组表.嵌套的 ForEach 用于生成每个部分.EditMode() 按钮切换环境属性.在编辑模式下,当删除操作完成时,被删除的行(意外)保留在屏幕上.(即使该对象已从数据源数组中删除.)当用户返回正常查看模式时,该对象迟早从表中删除. 为了尝试追踪错误: 数据源对象符合 Hashable、Ident
..
我将 SwiftUI 用于主窗口包含 NavigationView 的 Mac 应用程序.此 NavigationView 包含一个侧边栏列表.选择侧栏中的项目时,它会更改详细视图中显示的视图.详细视图中显示的视图大小不同,这应该会导致窗口大小在显示时发生变化.但是,当详细视图更改大小时,窗口不会更改大小以适应新的详细视图. 如何根据NavigationView的大小改变窗口大小? 我
..
我想将我的 List 放在 ScrollView 中,以便我可以一起滚动 List 行和标题.但是我发现 ScrollView 中的 List 不起作用.它什么也没显示.任何人都知道为什么会发生这种情况和(或)如何解决? 我应该同时使用它们. 我应该使用 ScrollView 以便在滚动行时也可以滚动标题(图像或文本). 我应该使用 List 来使用 .ondelete() 方法.
..
我一直在编写我的第一个 SwiftUI 应用程序,用于管理图书收藏.它有一个包含大约 3,000 个项目的 List,可以非常有效地加载和滚动.如果使用切换控件过滤列表以仅显示我没有 UI 冻结的书籍在更新前二十到三十秒,大概是因为 UI 线程正忙于决定是否显示 3,000 个单元格中的每一个. 在 SwiftUI 中是否有处理此类大列表更新的好方法? var body: some Vie
..
我想使用 EditButton() 来切换编辑模式,并将我的列表行切换到编辑模式.我想在编辑模式下包含一个新按钮以打开模态.我什至无法获得 EditMode 值来切换行内容. struct ContentView: View {@Environment(\.editMode) var isEditModevar sampleData = ["Hello", "This is a row", "S
..
我不明白当我尝试通过调用 viewContext.execute(deleteRequest) 删除所有项目时,SwiftUI 不会重绘 UI.我看到来自 sqlite 的项目不见了. struct CloudKitTestView: View {@Environment(\.managedObjectContext) 私有变量 viewContext@获取请求(sortDescriptors:
..
我有项目列表并从 CoreData 中获取它们 @FetchRequest(sortDescriptors: [NSSortDescriptor(keyPath: \Item.timestamp, 升序: true)],动画:.default)私有变量项目:FetchedResultsvar主体:一些视图{列表 {ForEach(items) { item in文本(“项目在 \(item.ti
..
我在这里检查了几个关于网格视图的问题,但我的问题有点不同,我想为按钮创建一个网格视图,以便按下每个按钮时导航到不同的视图,所以它看起来像这个图像:这是网格按钮视图 所以我在这里写了这段代码,但看起来我并没有很成功地得到我想要的东西,有没有更好的想法来实现这种设计为网格视图? 导入 SwiftUIstruct MainCollectionView:查看{var MainCollectionV
..
我在删除包含 Toggle 的单元格时遇到问题. 我的模型如下所示: class 模型:ObservableObject {@Published var 项目:[项目]初始化(项目:[项目]){self.items = 物品}}结构项目:可识别{var id = UUID()var 文本:字符串var isImportant: Bool} 我的观点是: struct ContentVi
..
我以嵌套方式使用了两个 ForEach(),一个用于显示部分,另一个用于显示列表视图的各个单元格. 我的问题是第一个 ForEach 中的迭代器变量在第二个 ForEach 中访问它时表现得非常奇怪. 在我附上的这个 gif 中,当我向上或向下滚动时,Round 后面的第一个变量(下面代码片段中的 ri)有时会改变它的值.然而,这个变量的值在第一个 ForEach 中总是相同的,正如我
..