QMUINavigationController

@interface QMUINavigationController : UINavigationController

/**
 *  初始化时调用的方法,会在 initWithNibName:bundle: 和 initWithCoder: 这两个指定的初始化方法中被调用,所以子类如果需要同时支持两个初始化方法,则建议把初始化时要做的事情放到这个方法里。否则仅需重写要支持的那个初始化方法即可。
 */
- (void)didInitialize NS_REQUIRES_SUPER;

@end

Undocumented

  • 初始化时调用的方法,会在 initWithNibName:bundle: 和 initWithCoder: 这两个指定的初始化方法中被调用,所以子类如果需要同时支持两个初始化方法,则建议把初始化时要做的事情放到这个方法里。否则仅需重写要支持的那个初始化方法即可。

    Declaration

    Objective-C

    - (void)didInitialize;

    Swift

    func didInitialize()

UISubclassingHooks

  • 每个界面Controller在即将展示的时候被调用,在UINavigationController的方法navigationController:willShowViewController:animated:中会自动被调用,同时因为如果把一个界面dismiss后回来此时并不会调用navigationController:willShowViewController,所以需要在viewWillAppear里面也会调用一次。

    Declaration

    Objective-C

    - (void)willShowViewController:(nonnull UIViewController *)viewController
                          animated:(BOOL)animated;

    Swift

    func willShowViewController(_ viewController: UIViewController, animated: Bool)
  • 同上

    Declaration

    Objective-C

    - (void)didShowViewController:(nonnull UIViewController *)viewController
                         animated:(BOOL)animated;

    Swift

    func didShowViewController(_ viewController: UIViewController, animated: Bool)