美文网首页
判断当前窗口是否显示

判断当前窗口是否显示

作者: 猪队友小L | 来源:发表于2017-08-18 17:21 被阅读12次

判断当前窗口是否显示

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

示例代码如下,在UIViewController的扩展中声明了一个isVisible方法,方便以后调用

注意:UIView的官方文档中仅注明当view还未添加到window时,window属性为空;但是并未提及当window为nil时,当前view未显示。通过简单的Demo检测上文的方法可满足大部分需求,因此使用时建议进行简单测试!

if(self.view.isViewLoaded && self.view.window) {
    //code
}

相关文章

  • 判断当前窗口是否显示

    判断当前窗口是否显示 假如一个UIView对象当前正在显示,那么它的window属性肯定为非空值。虽然官方文档未说...

  • iOS中判断某个控件是否显示在主窗口

    判断某个控件是否显示在主窗口的四个条件:1、是否加入主窗口2、是否隐藏3、透明度是否大于0.014、是不是在当前窗...

  • C# 激活窗口

    窗体启动后,再次启动时判断进程是否存在,如果已经存在则直接拉起当前进程,前置显示并聚焦窗口。

  • 判断当前view是否显示

    最近有一个这样的需求,需要知道某个view的展示率,但是这个view嵌套在一个滑动布局中,在当前view已经被添加...

  • 点击状态栏返回顶部

    1、自定义window2、转换坐标系3、递归判断该控件是否在主窗口上显示4、判断窗口的显示颜色 自定义window...

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

    1.判断当前UIViewController是否在显示 假如一个UIView对象当前正在显示,那么它的window...

  • javascript计算时间差 &倒计时

    vue项目实现的拍卖状态的判断以及倒计时显示获取当前时间判断开始时间是否大于当前时间(true未开始)判断结束时间...

  • 工具函数

    判断当前终端是否PC 判断当前设备平台 判断当前浏览器类型 获取浏览器版本信息 判断是否IphoneX 移动端键盘...

  • Android判断当前进程是否为主进程

    判断当前进程是否为主进程判断当前进程是否为主线程

  • 判断控制器是否是当前显示

    在做友盟推送的时候打开指定界面,我是用首页去push的 导致了当前我不在首页的情况下造成异常的界面显示,所以先判断...

网友评论

      本文标题:判断当前窗口是否显示

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