关闭UIwindow上所有弹出键盘,(可能情况:截屏了, 有键盘,键盘是系统的东西,你的截屏图片上没有键盘,导致截图空白,所以先关闭键盘,下面是关闭UIwindow上的键盘,键盘关闭是有动画的,需要延迟,刚调用关闭键盘方法之后,延迟0.3秒截屏)
下面keyboard结果为uiwindow是否有键盘弹出了,并且关闭了
bool keyBoard = NO;
for (UIView* view in window.subviews)
{
keyBoard = keyBoard?keyBoard:[self dismissAllKeyBoardInView:view];
}
//关闭window上所有view的键盘
-(BOOL) dismissAllKeyBoardInView:(UIView *)view
{
if([view isFirstResponder])
{
[view resignFirstResponder];
return YES;
}
for(UIView *subView in view.subviews)
{
if([self dismissAllKeyBoardInView:subView])
{
return YES;
}
}
return NO;
}
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];