gpt4 book ai didi

swift - 在 AppKit View 中嵌入 SwiftUI View

转载 作者:行者123 更新时间:2023-12-04 01:31:12 25 4
gpt4 key购买 nike

我有一个 SwiftUI View MySwiftUIView :

import SwiftUI

struct MySwiftUIView: View {
var body: some View {
Text("Hello, World!")
}
}

我想将它用作 AppKit View 的一部分。我尝试了以下代码:

import Cocoa
import SwiftUI

class MyViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview( NSHostingView(rootView: MySwiftUIView()) )
}
}

与相应的 Storyboard:

storyboard

代码构建完成后,结果是一个空窗口:

enter image description here

我想要的是这个:

enter image description here

我应该如何做到这一点?

最佳答案

您以编程方式设置 subview ,因此约束由您负责,SwiftUI 也不异常(exception)。

这是正确的变体(使用 Xcode 11.4 测试):

override func viewDidLoad() {
super.viewDidLoad()

let myView = NSHostingView(rootView: MySwiftUIView())
myView.translatesAutoresizingMaskIntoConstraints = false

self.view.addSubview(myView)
myView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true
myView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
}

关于swift - 在 AppKit View 中嵌入 SwiftUI View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61006093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com