IOS 回收键盘通用代码

感觉IOS的键盘回收好累,所以封装了一个通用一点的方法

-(IBAction)spbResignFirstResponder:(id)sender
{
    //    NSLogObj(sender);
    if (sender == NULL || [sender isKindOfClass:[UITapGestureRecognizer class]]) {
        if (self.view != NULL && self.view.subviews != NULL && self.view.subviews.count > 0) {
            for (UIView *item in self.view.subviews) {
                if ([item isKindOfClass:[UITextField class]] || [item isKindOfClass:[UITextView class]]) {
                    UITextField *textField_item = (UITextField *)item;
                    [textField_item resignFirstResponder];
                }

                [self spbResignFirstResponder:item];
            }
        }
    }else if ([sender isKindOfClass:[UIView class]]) {
        UIView *view_item = sender;
        if ([view_item isKindOfClass:[UITextField class]] || [view_item isKindOfClass:[UITextView class]]) {
            [view_item resignFirstResponder];
        }

        if (view_item.subviews != NULL && view_item.subviews.count > 0) {
            for (UIView *item in view_item.subviews) {
                [self spbResignFirstResponder:item];
            }
        }
    }
}
时间: 2024-11-05 20:48:50

IOS 回收键盘通用代码的相关文章

iOS回收键盘

1.回收某个textField下弹出的键盘 1 - (BOOL)textFieldShouldReturn:(UITextField *)textField{ 2 3 [textField resignFirstResponder]; 4 return YES; 5 6 } 2.点击空白处回收键盘 1 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 2 3 { 4 5 [self.phoneN

iOS 回收键盘

先要遵循协议  设置代理 self.jiagetextfield.delegate=self;    self.mingchengtextfield.delegate=self; //释放第一响应者-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{    [self.mingchengtextfield resignFirstResponder];    [self.jiagetextfield resignFirst

【好程序员笔记分享】——iOS开发之纯代码键盘退出

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之纯代码键盘退出(非常简单)     iOS开发之纯代码键盘退出 前面说到了好几次关于键盘退出的,但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 EndEditing,但是因为即有textView,又有TextField而且他们各有不同的方法,虽然笔者现在搞懂了,但是不知道什么时候又不记得 了,而且虽然感觉很简单现在感觉很简单的样子,但是对于没

IOS开发之触摸背景关闭键盘的代码实现

直接上代码: // 触摸背景,关闭键盘 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject]; UIView *view = (UIView *)[touch view]; if (view == self.view) { [weightTextField resignFirstResponder]; } } 以上代码是在一个viewContro

iOS点击任何出回收键盘

我这个是在navigationBar上一个搜索框: 搜索框不在View上,不能用self.view只能用window上 /** * 控制器的View被点击了,就会调用 * * @param touches 对象 * @param event 事件(封装了触摸的所有事件) */ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { //点击任何处,回收键盘,搜索框不在View上,不能用self.view只能用windo

iOS项目生成通用Windows应用

WinObjc - 使用iOS项目生成通用Windows应用 Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布的Project IslandWood项目,致力于将iOS应用快速移植成UWP应用.废话不多说,让我们来看看WinObjc项目到底如何使用. 开始之前 开始转制iOS项目前我们要先部署好WinObjc工具,工具链如下: 一台安装了Visual Studio的Windows 10 PC,2015社区版可以

关闭ios虚拟键盘的几种方法

在iOS应用开发中,有三类视图对象会打开虚拟键盘,进行输入操作,但如何关闭虚拟键盘,却没有提供自动化的方法.这个需要我们自己去实现.这三类视图对象分别是UITextField,UITextView和UISearchBar. 这里介绍一下UITextField中关闭虚拟键盘的几种方法. 第一种方法,使用它的委托UITextFieldDelegate中的方法textFieldShouldReturn:来关闭虚拟键盘. 在UITextField视图对象如birdNameInput所在的类中实现这个方法

关于回收键盘的两种方法

首先我们介绍一种最好用也最普遍的方法:触摸屏幕回收键盘,方法很简单,就是当触摸屏幕结束之后结束编辑就行,代码如下: - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [self.view endEditing:YES]; } 然后我们说一下第二种方法,其实也很简单,就是用到了UITextField的代理方法,步骤有三部: 1.遵守<UITextFieldDelegate>协议

IOS 隐藏键盘。

在View的UITextField中经常需要输入完文字后隐藏软键盘,要实现着一点要让View的Controller实现UITextFieldDelegate代理,然后编写相应的代码. #import <UIKit/UIKit.h> @interface TestVeiwController : UIViewController<UITextFieldDelegate> { IBOutlet UITextField *txt; } @property (nonatomic,retai