美文网首页
判断当前UIViewController是否在显示,判断某个vi

判断当前UIViewController是否在显示,判断某个vi

作者: CrystalZhu | 来源:发表于2017-06-21 16:20 被阅读191次

    1.判断当前UIViewController是否在显示

    假如一个UIView对象当前正在显示,那么它的window属性肯定为非空值。虽然官方文档未说明UIView未显示时window属性的取值,但是经过简单的测试,大部分情况下UIView未显示时,window的值为空,因此依据此判断当前UIViewController是否正在显示。但是访问UIViewController的view属性时,可能会引起view加载(假如此时还未加载),这是不必要的,而且还可能引起无法预期的问题。因此在访问view属性之前,最好先检查isViewLoaded属性来避免上述问题。

    封装了一个类方法 为了调用更方便

    +(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController

    {

    return (viewController.isViewLoaded && viewController.view.window);

    }

    2.判断某个view是否在显示(在这不考虑view.hide=true的情况)

    view.superview != nil  (说明该view已经add到了父视图上了)

    或者直接判断 view.window

    相关文章

      网友评论

          本文标题:判断当前UIViewController是否在显示,判断某个vi

          本文链接:https://www.haomeiwen.com/subject/odltcxtx.html