iOS 新窗口在最上层

有的时候需要弹出一个UIView 在整个视图的最上方,使用 [self.view addsubview : view] 一般就可以了,但是这样不严谨,因为这是一个tableview,那么这个view 会跟随tableview滑动,所以我们要把这个view 添加到UIWindow 上面.

 1 //键盘会挡住窗口
 2     UIWindow * window1 = [UIApplication sharedApplication].keyWindow;
 3     UIView * view1 = [[UIView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width/2-25, [UIScreen mainScreen].bounds.size.height/4 - 25, 50, 50)];
 4     view1.backgroundColor = [UIColor redColor];
 5     [window1 addSubview:view1];
 6     
 7     //如果键盘已经存在,那么窗口挡住键盘,
 8     //如果窗口已经存在,再弹出键盘,那么键盘挡住窗口,除非监听键盘的活动,调整窗口的在数组中的位置
 9     UIWindow * window2 = [[[UIApplication sharedApplication] windows] lastObject];
10     UIView * view2 = [[UIView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width/2-25, [UIScreen mainScreen].bounds.size.height/2 - 25, 50, 50)];
11     view2.backgroundColor = [UIColor yellowColor];
12     [window2 addSubview:view2];

 

posted @ 2016-02-01 15:22  友朋  阅读(1399)  评论(0编辑  收藏  举报