小编nic*_*eps的帖子

SwiftUI - 单击取消时执行操作 - .searchable 函数

使用该.searchable(text: $text)功能时,搜索时搜索栏中会出现取消按钮。

单击取消按钮时有什么方法可以执行操作吗?我想在单击“取消”时调用一个函数,但无法弄清楚如何在点击“取消”时执行操作。

苹果文档没有提及任何相关内容。回到 UIKit 中,就有了func searchBarCancelButtonClicked(searchBar: UISearchBar) {这样做的方法。

下面是我指的取消按钮的图像:在此输入图像描述

search swiftui ios15

7
推荐指数
1
解决办法
4670
查看次数

SwiftUI - 使列表分隔线扩展到触摸屏边缘

我正在 SwiftUI 中处理列表。我不知道如何使行分隔符从边到边。我尝试过 .edgesIgnoringSafeArea,但这似乎不起作用。见下图:

在此输入图像描述

请注意列表线如何接触右边缘,而不是左边缘。

list swiftui

5
推荐指数
1
解决办法
2809
查看次数

无法将“Published<[StepsEntity]>.Publisher”类型的值转换为预期参数类型“Binding<String>”

StepsEntity是核心数据实体

尝试在 TextField 中显示字符串值时收到以下错误:“无法将类型 'Published<[StepsEntity]>.Publisher' 的值转换为预期参数类型 'Binding'”

我知道这是因为我的核心数据模型中的 StepsEntity 是 @Published。@Published 在这里效果很好,因为它允许整齐地更新所有数据。如何在文本字段中显示@Published?

以下是我收到错误的部分:

List {
            VStack(alignment: .center) {
                if let recipeSteps = (vm.recipes[vm.getRecordsCount() - 1].steps?.allObjects as? [StepsEntity])?.sorted { $0.stepNumber < $1.stepNumber } {
                    
                    if (textFieldCount == 1) {
                        //do nothing
                    } else if (textFieldCount > 1) {
                        ForEach(recipeSteps, id: \.stepNumber) { index in
                            HStack {
                               
                                Text(String(index.stepNumber) + ".").bold()
                                TextField("", text: vm.$recipeSteps) //This is where the error is seen
                                
                            }
                        }.onDelete(perform: { index in
                            self.vm.deleteRecipeSteps(at: index, from: vm.recipes[vm.getRecordsCount() - 1])
                            }) …
Run Code Online (Sandbox Code Playgroud)

binding swift swiftui combine

0
推荐指数
1
解决办法
3870
查看次数

标签 统计

swiftui ×3

binding ×1

combine ×1

ios15 ×1

list ×1

search ×1

swift ×1