[IOS Code]实现全局关闭所有键盘,actionSheet和alertView
2013-01-31 13:32
429 查看
在多页面的IOS程序中,当切换页面时,需要先将keyBoard,actionSheet或alertView这类模态化窗口隐藏。
以下代码分别实现全局关闭actionSheet和alertView,全局隐藏所有键盘。
关闭所有actionSheet和alertView:
隐藏所有键盘:
以下代码分别实现全局关闭actionSheet和alertView,全局隐藏所有键盘。
关闭所有actionSheet和alertView:
- (void)closeModalView { for (UIWindow* window in [UIApplication sharedApplication].windows) { for (UIView* view in window.subviews) { [self dismissActionSheetAndAletrtViewInView:view]; } } } - (void)dismissActionSheetAndAletrtViewInView:(UIView*)view { if ([view isKindOfClass:[UIActionSheet class]]) { UIActionSheet *actionView = (UIActionSheet *)view; [actionView dismissWithClickedButtonIndex:actionView.cancelButtonIndex animated:NO]; } else if ([view isKindOfClass:[UIAlertView class]]) { UIAlertView *alertView = (UIAlertView *)view; [alertView dismissWithClickedButtonIndex:alertView.cancelButtonIndex animated:NO]; } else { for (UIView* subView in view.subviews) { [self dismissActionSheetAndAletrtViewInView:subView]; } } }
隐藏所有键盘:
- (void)hideKeyBoard { for (UIWindow* window in [UIApplication sharedApplication].windows) { for (UIView* view in window.subviews) { [self dismissAllKeyBoardInView: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; }
相关文章推荐
- 实现全局关闭所有键盘,actionSheet和alertView
- 整理所有IOS开发关闭键盘方法
- IOS开发之触摸背景关闭键盘的代码实现
- iOS开发>>>UITextField输入框,点击背景任何地方,实现键盘关闭
- IOS-OC 帮你解决关闭键盘的所有烦恼
- IOS开发之触摸背景关闭键盘的代码实现
- iOS 将uiwindow上所有弹出键盘关闭
- iOS关闭键盘简单实现(objc/swift)
- ios实现点击空白处关闭键盘
- ios code或xib下实现按键或触摸背景关闭虚拟键盘
- iOS给键盘添加全局工具条toolbar用于关闭键盘
- iOS 键盘回收实现步骤
- 160601iOS 模拟器 打开关闭模拟键盘
- iOS-->关闭键盘和代码退出应用程序的方法
- AJ学IOS(18)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复
- iOS - 监听键盘删除键之非代理实现
- iOS Mobile Development: Using Xcode Targets to Reuse the Code 使用xcode targets来实现代码复用
- Java 实现全局(全操作系统)的键盘鼠标模拟
- ios学习之 点击屏幕任何地方隐藏键盘实现 目前感觉最好用的
- iOS 开发之 - 关闭键盘 退出键盘 的5种方式