Как загрузить xib из пользовательского фреймворка в приложение по нажатию кнопки? - PullRequest
0 голосов
/ 25 марта 2020

Я создал фреймворк и добавил xib для этого, также есть несколько сторонних фреймворков.

Когда я нажимаю кнопку пользовательского интерфейса приложения, следующий метод вызовет

 @IBAction func Scan(_ sender: Any) {
      DocHandler.shared.loadxib()
   }

В моей пользовательской среде «Docsdk.framework». Код выглядит следующим образом

import UIKit

public class DocHandler :UIViewController{
    public static let shared = DocHandler()

      public init(){
          print("init")
            super.init(nibName: "DocViewController", bundle: Bundle(for: DocViewController.self))
            //startCapture()

      }

    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }



    public func loadxib(){
        present(DocViewController(), animated: true, completion: nil)
    }
}

У меня есть еще один файл .swift «DocViewController.swift» и один xib для загрузки для того же

Он выглядит ниже

import UIKit
import QKMRZParser
import QKMRZScanner

public class DocViewController: UIViewController, QKMRZScannerViewDelegate {
    public static let shared = DocViewController()
    public func mrzScannerView(_ mrzScannerView: QKMRZScannerView, didFind scanResult: QKMRZScanResult) {
        print(scanResult)
    }

    @IBOutlet weak var mrzScannerView: QKMRZScannerView!

    override public func viewDidLoad() {
        super.viewDidLoad()
        mrzScannerView.delegate = (self as QKMRZScannerViewDelegate)
     }


    override public func viewDidAppear(_ animated: Bool) {
                mrzScannerView.startScanning()

    }

    public init() {
        super.init(nibName: "DocViewController", bundle: Bundle(for: DocViewController.self))
        //startCapture()
    }

    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

   }

Я создаю этот фреймворк и встраиваю в приложение, затем он показывает ниже ошибку

2020-03-25 23:06:15.079539+0530 TestDoc[2963:452977] Warning: Attempt to present <Document.DocViewController: 0x106207410> on <Document.DocHandler: 0x106206ec0> whose view is not in the window hierarchy!
...