iOS,获取window上的view

获取UIwindow上view

如果你在UIwindow上添加多个view,这个view如果只在一个页面展示,那可以把这个view设置全局变量,然后就可以全局使用他进行隐藏或者移除。但如果你在这个页面添加了view,在另一个页面想获取到这个view,这个时候,你可以使用tag来获取到这个view。首先我们先添加这个view到window上

1.添加view到window上

  _noticeView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
  _noticeView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
  UIWindow *keyWin = [UIApplication sharedApplication].keyWindow;
  _noticeView.tag = 10005;//设置tag
 [keyWin addSubview:_noticeView];//_noticeView是个全局变量的view

2.获取这个tag的view

在其他页面,根据tag获取到这个view,然后进去view的相关操作,比如将view移到最上面,或者隐藏,或者移除

    UIWindow *keyWin = [UIApplication sharedApplication].keyWindow;
    UIView *eleCerView = [keyWin viewWithTag:10005];
    if (eleCerView) {
        //如果有,将这个view移到window最上面
        [keyWin bringSubviewToFront:eleCerView];
        //也可以进行view的其他操作
        // [eleCerView removeFromSuperview];//移除view
    }

参考链接:iOS开发之--在UIWindow上展示/移除一个View

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容