判斷當前viewcontroller是push仍是present的方式顯示的

網上的姿式,反正我用着無論用

最正確的姿式

NSArray *viewcontrollers = self.navigationController.viewControllers;
if (viewcontrollers.count > 1) {
    if ([viewcontrollers objectAtIndex:viewcontrollers.count - 1] == self) { //push方式
        [self.navigationController popViewControllerAnimated:YES];
    }
}
else { //present方式
    [self.navigationController dismissViewControllerAnimated:YES completion:nil];
}

經過presentviewcontroller的方式顯示的viewcontroller不會存入self.navigationController.viewControllers數組中。而經過push方式顯示的viewcontroller會存在該數組的最後。數組

相關文章
相關標籤/搜索