下拉以刷新swift UI中的数据

下拉以刷新swift UI中的数据,swift,list,swiftui,uirefreshcontrol,Swift,List,Swiftui,Uirefreshcontrol,我正在尝试在SwiftUI中开发我的第一个IOS应用程序,我希望有一个下拉列表来刷新列表。我已经知道苹果目前还没有实现它,但是我在stackoverflow()上找到了下面的解决方案,我从第一个答案开始实现了这个解决方案。这个很好用 但是现在我想在这个可刷新的视图中有一个SwiftUI视图。解决方案说我必须: 将它们包装在UIHostingController中,并将它们放入makeUIView中 这是我的问题。我到底要做什么?我尝试了以下方法,但不起作用 func makeUIView(con

我正在尝试在SwiftUI中开发我的第一个IOS应用程序,我希望有一个下拉列表来刷新列表。我已经知道苹果目前还没有实现它,但是我在stackoverflow()上找到了下面的解决方案,我从第一个答案开始实现了这个解决方案。这个很好用

但是现在我想在这个可刷新的视图中有一个SwiftUI视图。解决方案说我必须:

将它们包装在UIHostingController中,并将它们放入makeUIView中

这是我的问题。我到底要做什么?我尝试了以下方法,但不起作用

func makeUIView(context: Context) -> UIScrollView {
    let control = UIScrollView()
    control.refreshControl = UIRefreshControl()
    control.refreshControl?.addTarget(context.coordinator, action:
        #selector(Coordinator.handleRefreshControl),
                                      for: .valueChanged)

    // Simply to give some content to see in the app
    /*let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
    label.text = "Scroll View Content"
    control.addSubview(label)*/

    let parent = UIViewController()
    let child = UIHostingController(rootView: RecipeList())
    child.view.translatesAutoresizingMaskIntoConstraints = false
    child.view.frame = parent.view.bounds
    // First, add the view of the child to the view of the parent
    parent.view.addSubview(child.view)
    // Then, add the child to the parent
    parent.addChild(child)

    return control
}
有人知道我做错了什么,能告诉我我必须改变什么吗

谢谢并致以最良好的问候

亨里克

iOS 15+

struct ContentView:View{
var body:一些观点{
导航视图{
如果可用(iOS 15.0,*){

列表(1..您尚未将任何控件添加到UIScrollView
控件
,因此它们都不会出现。您应该只能够执行
控件.addChild(child)
并将父项一起删除。进行更改并查看其是否有效。如果无效,了解有关其工作原理的更多详细信息将有所帮助。感谢您的回复。但当我尝试此操作时,我只得到以下错误:
类型为“UIScrollView”的值没有成员“addChild”
。我使用的代码正是来自另一页,此时我尝试添加一个简单的文本:
let child=UIHostingController(rootView:text(“Hello”)
。这是我在
makeUIView
函数中添加的。其他所有内容都是从另一篇文章中复制的