获取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
}
网友评论