首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SwiftUI List =>EditButton =>减号,未显示delete

SwiftUI是一种用于构建iOS、macOS、watchOS和tvOS应用程序的用户界面工具包。它提供了一种声明性的方式来构建用户界面,简化了开发过程。SwiftUI List是SwiftUI中的一个视图容器,用于显示一个可滚动的列表。EditButton是SwiftUI中的一个视图修饰符,用于在列表的顶部添加一个编辑按钮,以便用户可以对列表进行编辑操作。

在使用SwiftUI List时,如果未显示删除按钮(减号),可能有以下几个原因:

  1. 缺少删除操作:如果列表项没有实现删除操作,即没有提供删除功能的代码逻辑,那么减号按钮将不会显示。您需要在列表项中添加删除操作的逻辑,以便在用户点击减号按钮时执行删除操作。
  2. 缺少EditButton修饰符:如果您没有在List视图中使用EditButton修饰符,那么减号按钮将不会显示。您可以在List视图的外部使用EditButton修饰符,以便在列表的顶部添加编辑按钮。

以下是一个示例代码,展示了如何在SwiftUI List中添加编辑按钮和删除操作:

代码语言:txt
复制
struct ContentView: View {
    @State private var items = ["Item 1", "Item 2", "Item 3"]

    var body: some View {
        NavigationView {
            List {
                ForEach(items, id: \.self) { item in
                    Text(item)
                }
                .onDelete(perform: deleteItem)
            }
            .navigationBarItems(trailing: EditButton())
        }
    }

    func deleteItem(at offsets: IndexSet) {
        items.remove(atOffsets: offsets)
    }
}

在上述示例中,我们使用了@State属性包装器来管理列表项数组。通过调用List视图的onDelete(perform:)方法,并提供一个删除操作的函数deleteItem(at:),我们可以实现在用户点击减号按钮时删除列表项的功能。同时,通过在navigationBarItems中添加EditButton(),我们在列表的顶部添加了编辑按钮。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,我无法提供具体的产品链接。但是,腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,您可以访问腾讯云官方网站,了解他们的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

架构之路 (五) —— VIPER架构模式(一)

这与SwiftUI不同,在SwiftUI中,视图显示任何新视图。 这种分离来自“Uncle”Bob Martin的Clean Architecture paradigm。...路由器Router允许用户从旅行列表视图trip list view导航到旅行详细信息视图trip detail view。trip detail视图将显示路线点列表以及路线地图。...在命令式UI范例中——换句话说,在UIKit中——路由router将负责显示视图控制器或激活segue。 SwiftUI将所有目标视图声明为当前视图的一部分,并根据视图状态显示它们。...要将VIPER映射到SwiftUI,视图现在负责显示/隐藏视图,路由router是一个目标视图生成器,presenter在它们之间进行协调。...最后,将以下内容添加到Text下面的VStack中,从而在TripDetailView中向用户显示: HStack { Spacer() EditButton() Button(action

17.4K10

SwiftUI 与 Core Data —— 安全地响应数据

SwiftUI 与 Core Data —— 问题[1]SwiftUI 与 Core Data —— 数据定义[2]SwiftUI 与 Core Data —— 数据获取[3]可以在 此处[4] 获取演示项目...也就是说,如果一个用于显示托管对象实例数据的视图被销毁了,那么假如没有其他的视图或代码引用视图中显示的托管对象实例,托管上下文将从内存中将这些数据占用的内存释放掉。...另外,在其他的一些操作中,为了保证模态视图的稳定,我们通常也会将模态视图挂载到 List 的外面。例如:@State var item: Item?...当 timestamp 为 nil 时,将显示当前时间 Text("\((item.timestamp ??...参考资料[1] SwiftUI 与 Core Data —— 问题: https://www.fatbobman.com/posts/modern-Core-Data-Problem/[2] SwiftUI

3.3K20

在 Text 中实现基于关键字的搜索和定位

请阅读 优化在 SwiftUI List显示大数据集的响应效率[6] 以及 避免 SwiftUI 视图的重复计算[7] 两篇文章,了解更多有关性能优化方面的内容通过 currentPostion 获取需要滚动到的...将搜索结果优先定位于 List 当前显示的 transcription 中。...为了达成这个目标,我们首先需要记录在 List 中,哪些 transcription 正在被显示,以及该 transcription 的索引。...了解更多内容,请阅读 SwiftUI 视图的生命周期研究[9] 一文优先定位于最靠近屏幕中央的搜索结果:/// 从 List 当前显示中的 transcription 中就近选择 match 的 positionprivate...List显示大数据集的响应效率: https://www.fatbobman.com/posts/optimize_the_response_efficiency_of_List/[7] 避免 SwiftUI

4.2K30

如何让 SwiftUI 的列表变得更加灵活

前言 List 可能是 SwiftUI 附带的内置视图中最常用的一种,它使我们能够在任何 Apple 平台上呈现“类似于表格视图”的用户界面。...为了演示这种情况,我们在 List 中嵌套一个 ForEach (因为在 SwiftUI 的中,列表变化一版都是由 ForEach 触发的,而不是由 List 触发的)。...由于系统会自动检测知道 viewModel.reload() 何时调用完成,因此可以防止发生重复的刷新操作,并且可以更具状态显示和隐藏相应 UI。...译自 How SwiftUI’s List is becoming much more flexible this year[3] 参考资料 [1]Calling async APIs from a synchronous...’s List is becoming much more flexible this year: https://wwdcbysundell.com/2021/exploring-new-swiftui-list-apis

4.8K41

WWDC 23 之后的 SwiftUI 有哪些新功能

前言 WWDC 23 已经到来,SwiftUI 框架中有很多改变和新增的功能。在本文中将主要介绍 SwiftUI 中数据流、动画、ScrollView、搜索、新手势等功能的新变化。...数据流 Swift 5.9 引入了宏功能,成为 SwiftUI 数据流的核心。SwiftUI 不再使用 Combine,而是使用新的 Observation 框架。...动画 动画始终是 SwiftUI 框架中最重要的部分。在 SwiftUI 中轻松实现任何动画,但之前的框架版本缺少一些现在具有的功能。...{ Text(verbatim: scope.rawValue) } } } 如上例所示,可以使用可搜索视图修饰符的 isPresented 参数来显示...rotationEffect(angle) .gesture(rotation) } } 新增的小功能 增加了全新的 ContentUnavailableView 类型,当需要显示空视图时可以使用它

33720

SwiftUI 视图的生命周期研究

比如在 List 和 LazyVStack 中,Cell 视图在创建之后即使滚动出屏幕不参与布局与渲染,但 SwiftUI 仍会保留这些视图的数据,直到 List 或 LazyVStack 被销毁。...•在 List 和 LazyVStack 中,SwiftUI 出于效率的考虑,即使 Cell 视图移出显示范围,它的视图仍将保留在视图值树上(视图仍将存续)。...因此,当 Cell 视图出现在显示范围内(影响容器布局)会触发 onAppear,移出显示范围(不影响容器布局)会触发 onDisappar。在其存续期内可以反复触发。...另外,由于 List 和 LazyVStack 的布局逻辑不同(List 的容器高度是固定的,LazyVStack 的容器高度是不固定的,向下预估的),两者触发 onDisappear 的时机点也不同。...List 是上下两侧都会触发,LazyVStack 只有下方会触发。

4.4K30

解析SwiftUI布局细节(二)循环轮播+复杂布局

界面跳转的问题 ---- 正常的界面跳转逻辑实现是比较简单的,我们先看看这个很简单的正常跳转,再说说我们的问题: NavigationView{ VStack{ List...具体的我们Demo中可以看看“我的”页面那个 List 的代码,问题就在那里。要理解这点的麻烦也给我说说,感谢!...的方式去实现,很多同行有说目前来看SwiftUIList在数据量大的情况下性能不是特别好,采用ScrollView是个不错的方式,而且也很容易构建出来,并不是说每一个Item的位置都需要你去计算,...除了这个List,还要一个From我们也可以了解下,他们俩肉眼可见的区别 在选中这个点上的区别。...之GeometryReader 理解SwiftUI关键字 State Binding ObservesOgiect EnvironmentObje SwiftUI 自定义实现旋转木马轮播效果

11.9K20
领券