uikeyboard所在uiwindow
2016-04-19 00:00
423 查看
- (UIView *)findKeyboard { UIView *keyboardView = nil; NSArray *windows = [[UIApplication sharedApplication] windows]; for (UIWindow *window in [windows reverseObjectEnumerator])//逆序效率更高,因为键盘总在上方 { keyboardView = [self findKeyboardInView:window]; if (keyboardView) { return keyboardView; } } return nil; } - (UIView *)findKeyboardInView:(UIView *)view { for (UIView *subView in [view subviews]) { if (strstr(object_getClassName(subView), "UIKeyboard")) { return subView; } else { UIView *tempView = [FTEView findKeyboardInView:subView]; if (tempView) { return tempView; } } } return nil; }
UIWindow* tempWindow = [[[UIApplication sharedApplication]windows] objectAtIndex:1]; int viewCount =[tempWindow.subviewscount]; for (int i = 0; i < viewCount; i++) { keyboard =[tempWindow.subviewsobjectAtIndex:i]; NSLog(@"%@",[keyboard description] ); }
http://www.myexception.cn/operating-system/1405409.html
如果确定键盘所在的window 那么只需要采用 window的 结束编辑方法,例如: [[UIApplication sharedApplication].keyWindow endEditing:YES]; 如果是自己定义的UIWindow,那么直接使用: [myWindow endEditing:YES];
以上方法,均不适合我现在的需求,最后为注册通知,参数判定是否键盘弹起,以此为介
相关文章推荐
- 外循环与内循环的分析演示
- poj 1986 Distance Queries 带权lca 模版题
- -[UIKBBlurredKeyView candidateList]: unrecognized
- Qt中用户界面的User Interface Compiler(uic)机制的相关说明
- UILocalNotification 开发过程中的使用
- UI组件——GridLayout
- BuildActionExecuter Error
- POJ 1679 The Unique MST【暴力求次小生成树】
- Java之UUID介绍
- javaEE--request.getRequestDispatcher--URL后带参数实现自定义跳转
- xib自定义UIView报错误 "forUndefinedKey:]: this class is not key value coding-compliant for the key"
- Java之UUID生成
- Android值动画二(ValueAnimator)
- iOS黄色警告之was built for newer iOS version (7.0) than being linked (6.0)解决办法
- 1012 Rescue
- Qt MinGW 使用联合编译IncrediBuild
- Github Coding Developer Book For LiuGuiLinAndroid
- Github Coding Developer Book For LiuGuiLinAndroid
- 2016-NJUST-sequence
- Ubitquity LLC用区块链保障房…