我想在SwiftUI视图中通过CocoaPods使用这个项目Toast-Swift。它是用于UIView的,所以我尝试编写一个ViewController并将其 Package 到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)
}
}
我在SwiftUI的Toast(SO question)上找到了一些自定义实现,但它们的行为并不完全是我所寻找的。
有没有人能帮我解决这个问题?SwiftUI中还有其他关于Toast的推荐吗?提前感谢!
4条答案
按热度按时间kmbjn2e31#
我不知道你是否已经解决了你的问题,但是我在这里发布这个,以防有人感兴趣。我设法做到了这一点,获得了对SceneManager的引用,然后使用它的rootViewController视图。有了这个视图,你可以使用Toast_Swift示例:
希望有帮助。
x33g5p2x2#
尝试使用此开放源代码:https://github.com/huynguyencong/ToastSwiftUI .我发现它非常好用。
bweufnob3#
您可以尝试使用
Toast_Swift
显示吐司dldeef674#
我把它放在这里给任何仍然在使用SwiftUI寻找这个主题的人:
https://github.com/elai950/AlertToast