【发布时间】:2020-06-01 01:06:49
【问题描述】:
我想在 SwiftUI 视图中通过 CocoaPods 使用这个项目 Toast-Swift。是针对 UIView 的,所以我试着写了一个 ViewController 并把它包装到 SwiftUI 中,结果屏幕上什么都没有。
我的代码:
struct ToastView: UIViewControllerRepresentable{
@State var text: String
func makeUIViewController(context: UIViewControllerRepresentableContext<ToastView>) -> UIToast {
return UIToast(text: text)
}
func updateUIViewController(_ uiViewController: UIToast, context: UIViewControllerRepresentableContext<ToastView>) {
}
}
class UIToast: UIViewController{
var text: String = ""
init(text: String) {
super.init(nibName: nil, bundle: nil)
self.text = text
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
self.view.makeToast(text)
}
}
我在 Toast for SwiftUI (SO question) 的 SO 上找到了一些自定义实现,但它们的行为并不完全符合我的要求。
有人可以帮我解决这个问题吗? SwiftUI 中的 Toast 还有其他推荐吗?提前致谢!
【问题讨论】:
标签: ios uiviewcontroller swiftui