下面是一个演示应用程序,带有一个简单NSTextField
的 Mac 应用程序。出于某种原因,无论我尝试什么,字体大小都不会改变。
import Cocoa
import SwiftUI
@main
struct SwiftUIWindowTestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
@State private var text = "Text goes here..."
var body: some View {
FancyTextField(text: $text)
.padding(50)
}
}
struct FancyTextField: NSViewRepresentable {
@Binding var text: String
func makeNSView(context: Context) -> NSTextField {
let textField = NSTextField()
textField.font = NSFont.systemFont(ofSize: 30) //<- Not working
return textField
}
func updateNSView(_ nsView: NSTextField, context: Context) {
nsView.stringValue = text
}
}
这就是整个应用程序。在这个简单的例子中,我没有做任何其他事情。我可以更改文本颜色和其他属性,但由于某种原因字体大小不会改变。
一时兴起,我也尝试在 SwiftUI 端更改它,但我没想到它会起作用(而且它没有):
FancyTextField(text: $text)
.font(.system(size: 20))
有任何想法吗?