iosMath дает сбой SwiftUI
Я пытаюсь создать приложение для Mac с использованием SwiftUI, где я хочу отображать математику с помощью IosMath. Я установил его с помощью CocoaPods и могу импортировать. Но каждый раз, когда я пытаюсь перейти к своему представлению, содержащему MTMathUILabel, мое приложение вылетает со словами:
027055+0200 latextest[1709:84867] [General] -[NSNib _initWithNibNamed:bundle:options:] could not load the nibName: latextest.Latex in bundle (null).
Мой код выглядит следующим образом: В SwiftUI:
import SwiftUI
struct Mittel: View {
var body: some View {
VStack{
Text("Das Mittel berechnet sich: ")
Switcher()
}
}
}
вызывая мой NSViewControllerRepresentable:
import AppKit
import SwiftUI
struct Switcher : NSViewControllerRepresentable {
func makeNSViewController(context: Context) -> Latex {
print("Test")
return Latex()
}
func updateNSViewController(_ nsViewController: Latex, context: Context) {
}
}
чтобы загрузить представление:
import AppKit
import iosMath
class Latex: NSViewController {
//public var latexstring: String! = "\\frac{2}{3}"
//let latexlabel = MTMathUILabel()
override func viewDidLoad() {
super.viewDidLoad()
let container1 = NSView(frame: CGRect(x: 0, y: 0, width: 200, height: 70))
let label: MTMathUILabel = MTMathUILabel()
label.latex = "x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}"
label.frame = container1.frame
container1.addSubview(label)
self.view.addSubview(container1)
}
}
Решение: не было файла с перьями, потому что я не использовал IB... поэтому мне нужно было изменить контроллер, см.
override func viewDidLoad() {
super.viewDidLoad()
нужно было изменить на.
override func loadView() {
self.view = NSView()
1 ответ
Решение: не было файла с перьями, потому что я не использовал InterfaceBuilder ... поэтому мне нужно было изменить контроллер, см.
override func viewDidLoad() {
super.viewDidLoad()
нужно было изменить на.
override func loadView() {
self.view = NSView()