0

我有一个 UIViewController 需要包装并用作 SwiftUI 视图。我已经实现了为该视图控制器锁定设备方向所需的方法。当我在 UIKit 上下文中使用 UIViewController 时,方向可能会被锁定。

class ContentViewController : UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.red
    }
    
    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .portrait
    }
    
    override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
        return .portrait
    }

    override var shouldAutorotate: Bool {
        return false
    }
}

当我使用 UIViewControllerRepresentable 将其包装为 SwiftUI 视图时,无法锁定方向。这

struct ContentWrappedView : UIViewControllerRepresentable {
    
    func makeUIViewController(context: Context) -> ContentViewController {
        return ContentViewController.init()
    }
    
    func updateUIViewController(_ uiViewController: ContentViewController, context: Context) {
    }
}

这是预期的行为吗?有办法解决吗?我将在框架中使用它,因此使用 AppDelegate 实现它对我不起作用。提前致谢。

4

0 回答 0