iOS获取UIWindow上的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,ios,获取window上的view,隐藏或移除view,push时隐藏view,隐藏UIWindow的view)