Как pushViewController, используя MDCAppBarViewController? - PullRequest
0 голосов
/ 01 апреля 2019

Я создаю простое приложение, используя Material Design for iOS.Я попытался использовать компонент с именем MDCAppBarViewController, который похож на UINavigationController для UIKit.

Моя проблема в том, что я хочу pushViewController к другому контроллеру, но он, кажется, не работает, как я ожидал.

Что я сделал до сих пор:

class FeedViewController: UIViewController {
// Step 1: Create and initialize an App Bar.
let appBarViewController = MDCAppBarViewController()
var colorScheme = MDCSemanticColorScheme()
var typographyScheme = MDCTypographyScheme()


override func viewDidLoad() {
    super.viewDidLoad()
    self.view.backgroundColor = .white
    appBarViewController.headerView.trackingScrollView = nil
    self.navigationItem.title = "News Feed"

    // Behavioral flags.
    appBarViewController.inferTopSafeAreaInsetFromViewController = true
    appBarViewController.headerView.minMaxHeightIncludesSafeArea = false

    // Step 2: Add the headerViewController as a child.
    self.addChild(appBarViewController)
    MDCAppBarColorThemer.applyColorScheme(colorScheme, to: appBarViewController)
    MDCAppBarTypographyThemer.applyTypographyScheme(typographyScheme, to: appBarViewController)

    // Allows us to avoid forwarding events, but means we can't enable shift behaviors.
    appBarViewController.headerView.observesTrackingScrollViewScrollEvents = true
    self.view.addSubview(self.appBarViewController.view)

    appBarViewController.didMove(toParent: self)

    self.navigationItem.rightBarButtonItem =
        UIBarButtonItem(title: "Right", style: .done, target: nil, action: #selector(rightMove))
}
@objc
func rightMove() {

    appBarViewController.navigationController?.pushViewController(RightController(), animated: true)
}
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

}

Я использовал этот метод для просмотра, но он не работает

@objc
func rightMove() {

    appBarViewController.navigationController?.pushViewController(RightController(), animated: true)
}
...