Нижний навигационный ящик не отображается (Swift) - PullRequest
0 голосов
/ 27 января 2019

Я сейчас работаю над приложением для iOS и хочу использовать нижнюю панель навигации из material-io.Поэтому я сделал это так, как описано в примерах на сайте .Но когда я представляю навигационный ящик, ViewController только становится немного темнее, и contentView ящика не отображается.

Вот мой код:

import Foundation
import UIKit
import MaterialComponents

class CreateSubjectView: UIViewController, UITextFieldDelegate {
    ...
    override func viewDidLoad() {
        ...
        let bottomDrawerViewController = MDCBottomDrawerViewController()
        self.modalPresentationStyle = .popover
        let newViewController = self.storyboard?.instantiateViewController(withIdentifier: "TEST")
        bottomDrawerViewController.contentViewController = newViewController

        present(bottomDrawerViewController, animated: true, completion: nil)    
        ...
    }
    ...
}

1 Ответ

0 голосов
/ 27 января 2019

Переместите это на viewWillAppear / viewDidAppear один раз, так как viewDidLoad слишком рано, чтобы представить vc

class CreateSubjectView: UIViewController, UITextFieldDelegate {

    let bottomDrawerViewController = MDCBottomDrawerViewController()
    var once = true
    override func viewDidLoad() {
      super.viewDidLoad()

    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        if once {

            let newViewController = self.storyboard?.instantiateViewController(withIdentifier: "TEST")
            bottomDrawerViewController.contentViewController = newViewController
            present(bottomDrawerViewController, animated: true, completion: nil)

            once  = false
        }
    }

}
...