美文网首页
iOS判断当前控制器是否正在显示

iOS判断当前控制器是否正在显示

作者: 三岁就很乖 | 来源:发表于2016-08-30 16:45 被阅读1503次
    +(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController
    {
        return (viewController.isViewLoaded && viewController.view.window);
    }
    
    也可以将该方法定义在UIViewController的分类中, 方便多处调用
    
     
    假如一个UIView对象当前正在显示,那么它的window属性肯定为非空值。
    
    虽然官方文档未说明UIView未显示时window属性的取值,但是经过简单的测试,大部分情况下UIView未显示时,
    
    window的值为空,因此依据此判断当前UIViewController是否正在显示。但是访问UIViewController的view属性时,
    
    可能会引起view加载(假如此时还未加载),这是不必要的,而且还可能引起无法预期的问题。因此在访问view属性之前,最好先检查isViewLoaded属性来避免上述问题。
    
    

    来源:http://www.cnblogs.com/Rinpe/p/5279130.html

    相关文章

      网友评论

          本文标题:iOS判断当前控制器是否正在显示

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