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

你可能感兴趣的:(iOS,获取window上的view)