小编Joh*_*n M的帖子

如何从 swiftui 视图调用 uikit viewcontroller 方法

我已经到处寻找这个问题的答案,但似乎找不到。如何从 swiftUI 调用 viewController 方法(例如单击按钮)?

我有一个看起来像这样的视图控制器:

import Player

class PlayerViewController: UIViewController {
    var player = Player()
    func play() {
        self.player.play()
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个看起来像这样的包装:

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
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在 swiftUI 中使用按钮操作并调用 viewControllerplay方法一次。我已经看到建议在包装器上设置状态/绑定并调用 updateUIViewController 中的方法的答案,但是当我这样做时,我看到它被调用多次,而不仅仅是一次。

viewcontroller ios swiftui

5
推荐指数
2
解决办法
5889
查看次数

标签 统计

ios ×1

swiftui ×1

viewcontroller ×1