底部导航抽屉不显示 (Swift)

Cry*_*ing 7 ios swift material-design

我目前正在开发一个 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)    
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

Sh_*_*han 1

将其移至viewWillAppear/一次,因为现在展示 vcviewDidAppear还为时过早viewDidLoad

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
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

  • 有人解决这个问题吗?我在单击按钮时显示抽屉,因此它是在 viewDidLoad 和 viewWillAppear 之后 (2认同)