SwiftUI-列表中的自定义滑动动作 [英] SwiftUI - Custom Swipe Actions In List
问题描述
如何在SwiftUI中使用自定义滑动动作?
How can I use custom Swipe Actions in SwiftUI?
我试图使用UIKit框架使它们在SwiftUI中工作.但这对我不起作用.
I tried to use the UIKit Framework to get these working in SwiftUI. But that doesn't work for me.
import SwiftUI
import UIKit
init() {
override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let important = importantAction(at: indexPath)
return UISwipeActionsConfiguration(actions: [important])
}
func importantAction(at indexPath: IndexPath) -> UIContextualAction {
let action = UIContextualAction(style: .normal, title: "Important") { (action, view, completion) in
print("HI")
}
action.backgroundColor = UIColor(hue: 0.0861, saturation: 0.76, brightness: 0.94, alpha: 1.0) /* #f19938 */
action.image = UIImage(named: "pencil")
return action
}
}
struct TestView: View {
NavigationView {
List {
ForEach(appointmentsViewModel.appointments.identified(by: \.id)) { appointment in Row_Appointments(appointment: appointment)
}.onDelete(perform: delete)
}
}
}
}
推荐答案
从Xcode 11.3.1开始,SwiftUI不支持List
项的自定义滑动操作.根据Apple SDK演变的历史,直到下一个主要的SDK版本(在WWDC 2020年)或更高版本,我们才可能获得支持.
As of Xcode 11.3.1, SwiftUI doesn't support custom swipe actions for List
items. Based on the history of Apple’s SDK evolution, we’re not likely to see support until the next major SDK version (at WWDC 2020) or later.
您最好实现一个不同的用户界面,例如添加一个切换按钮作为列表项的子视图,或者
You would probably be better off implementing a different user interface, like adding a toggle button as a subview of your list item, or adding a context menu to your list item.
这篇关于SwiftUI-列表中的自定义滑动动作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!