我已经在网上寻找了答案,但似乎找不到。如何在SwiftUI中调用viewController方法(例如在按钮点击时)?
我的viewcontroller如下所示:
import Player
class PlayerViewController: UIViewController {
var player = Player()
func play() {
self.player.play()
}
}
我有一个看起来像这样的包装器:
import SwiftUI
import AVFoundation
struct ProjectEditorPlayerBridge: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> PlayerViewController {
let player = PlayerViewController()
return player
}
func updateUIViewController(_ uiViewController: PlayerViewController, context: Context) {
}
typealias UIViewControllerType = PlayerViewController
}
我希望能够在SwiftUI中使用按钮动作,并仅调用viewController的play
方法一次。我看到有些答案建议在包装器上设置状态/绑定,并在updateUIViewController中调用该方法,但是当我这样做时,它会被调用多次,而不是一次。