键盘所在的window,是手机上window等级最高的,所以一般的加入keywindow提示的方式,可能在键盘出现的时候被键盘遮挡。
解决方法,遍历出键盘所在的window,将提示空间插入,如下
//在程序运行的不同时期,window数量也是不同的,无法设置为静态变量,只能通过这种for循环的方式
NSString * message = dictionary[@"msg"];
if ([message isKindOfClass:[NSString class]]) {
for(UIView*window in [UIApplication sharedApplication].windows)
{
if([window isKindOfClass:NSClassFromString(@"UIRemoteKeyboardWindow")])
{
[RemindView showHUDWithText:message onView:window];
show = YES;
}
}
if (show == NO) {
[RemindView showHUDWithText:message onView:kYBKeyWindow];
}
}