ios - 如何检查导航 Controller 是否被推送或者是 Root View Controller ?

标签 ios objective-c push navigationcontroller

我想检查我所在的 View Controller 是 Root View Controller 还是推送到某个导航 Controller 上。

最佳答案

[self.navigationController viewControllers];

将返回堆栈上所有 viewController 的数组。只需比较此数组中的第一个元素即可查看 Controller 是否为根。

例如

UIViewController *vc = [[self.navigationController viewControllers] firstObject];

if([vc isEqual: <viewController to check> ])
{
    // code here
}

编辑:添加 Swift

let vc = self.navigationController?.viewControllers.first
if vc == self.navigationController?.visibleViewController {
    //Code Here
}

关于ios - 如何检查导航 Controller 是否被推送或者是 Root View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27378045/

相关文章:

ios - 测试可选的 nil 并将 nil 切换为 0

objective-c - 更新 beginBackgroundTaskWithExpirationHandler 上的 UI

ios - 字符串中的日期不适用于特定日期

iphone - 更改贝塞尔曲线的颜色

php - 如何向网页访问者推送警报或消息?

iOS:TableView 中的多个部分不起作用

ios - 如何使用Alamofire上传多张图片?

java - 在后台收到推送通知后更改 Activity

java - 安卓 : Keep httpclient running in background and communicate with activity when message recieved by httpclient

ios - Swift:如何将 CGPoint 转换为 CLLocationCooperative2D