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