不同的 UIBarButtonItems 如果按下或模态

Different UIBarButtonItems if Pushed or Modal

我正在尝试为单个视图控制器使用不同的导航栏按钮项。

视图控制器可以是:

如果以模态方式呈现,我需要一个关闭左栏按钮来关闭模态。

有没有办法知道 VC 是否以模态方式显示,以便相应地设置关闭左栏按钮?

我通过在 UIViewController 类别上实现这样的方法解决了这个问题 然后在 viewDidLoad 中使用此方法来确定当前控制器是模态呈现还是通过推送到导航控制器:

- (BOOL)isModal {

    if (self.viewController.navigationController && self.viewController.navigationController.viewControllers.firstObject == self.viewController) {
        return YES;
    }

    return NO;
}