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()
Другие вопросы по тегам