系统键盘其实是在一个系统新建的级别最高的UIWindow上,我们只需要找到这个window 就可以,在这个window 上添加我们的视图,然后,就可以盖住系统的键盘,直接上代码:
for(UIView*window in [UIApplication sharedApplication].windows)
{
if([window isKindOfClass:NSClassFromString(@"UIRemoteKeyboardWindow")])
{
backView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
backView.backgroundColor = [UIColor blackColor];
backView.alpha=0.5;
[window addSubview:backView];
}
}
这样就可以了,其实还有一种方法,就是新建一个window 然后设置widow的windowLevel 这个属性,为最大值(MAXFLOAT),依然可以盖住系统的键盘,如果你是设置window 给你那个三个windowLevel 是盖不住系统键盘的,为什么,因为承载系统键盘的window的windowLevel 这个值有10000000这个大,所以你设置比这个值小的是盖不住系统键盘的。