在TabBar内外的present(viewController)之间不同

时间:2017-06-16 16:17:47

标签: ios swift uiviewcontroller

我想检查某个UIViewController是否以模态方式呈现。除此之外,如果它在TabBar中以模态方式呈现,我想有所不同。我在this link下找到了以下extension

extension UIViewController {
    var isModal: Bool {
        if let index = navigationController?.viewControllers.index(of: self), index > 0 {
            return false
        } else if presentingViewController != nil {
            return true
        } else if navigationController?.presentingViewController?.presentedViewController == navigationController  {
            return true
        } else if tabBarController?.presentingViewController is UITabBarController {
            return true
        } else {
            return false
        }
    }
}

但是,这个extension在TabBar中显示的UIViewController或标签栏的外侧没有差异(我得到相同的结果)。删除最后一个else if仍然会返回相同的Boolean(都返回true),因此删除倒数第二个(都返回false)。

我想添加一个"返回"按钮,如果它出现在标签栏之外。

编辑:

我有一个标签栏,用户可以在其下打开自己的个人资料。如果点击该tabbaritem,则用户可以看到他自己的个人资料(通过tabbar显示)。但是,他也可以通过在另一个tabbaritem中点击他自己的用户名来查看他自己的个人资料(例如在主页Feed中)。在后一种情况下(因为在他自己的个人资料之前有另一个视图控制器)我希望用户能够再次返回到主页(这在前者中是不可能的)。

0 个答案:

没有答案
相关问题