在Swift中通过ID查找视图



我还是iOS新手,Swift和SwiftUI…

我使用SwiftUI创建了一个内容视图,然后我在Swift中将视图添加到我的视图控制器

let childView = UIHostingController(rootView: ChildUIView())
addChild(childView)
childView.view.frame = viewController.bounds
viewController.addSubview(childView.view)

上面的代码工作得很好,但是我怎么能瞄准我的rootView SwiftUI

中的视图在Android Java中,我可以这样做

ScrollView scrollView = childView.findViewById(R.id.scrollview);

在我的Swift文件中,我尝试这样做

let scrollView = childView.rootView.id(scrollView)

但是我不知道使用

的语法是否正确然后我试图传递数据类型为ScrollView

let scrollView: ScrollView = childView.rootView.id(scrollView) as! ScrollView

但是我得到一个错误说,Generic parameter Content could not be inferred in cast to ScrollView.

可能,我得到这个错误是因为我不知道它是如何完成的。

有谁能帮我吗?

好的…我终于找到了解决办法。使用viewWithTag

首先,我必须给我的ScrollView一个int类型的标签,也许是100,然后像这样引用它

childView.view.viewWithTag(100)

最新更新