UITextField禁用掉编辑之后...

  1. 某些UITextField只为了摆数据,还有响应点击,为了避免频繁出现键盘,所以把UITextField的人机交互(userInteractionEnabled)给关闭了
  2. 此时,给UITextField注册Tap手势,失败
  3. 查资料,没有交互功能的textfield是不能注册手势的,只能注册给其父view,成功
  4. 本例中其父view就是当前窗体,于是发现这个窗体里的按钮都不响应点击事件了(虽然点击的时候能高亮)
  5. 得知可以用手势的代理方法:
    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
        return ([[touch.view class] isSubclassOfClass:[UIButton class]]) ? NO : YES;
    }

这个方法不靠谱,我点击的是UIToolbar里的UIBarButtonItem,打印出来的却是UIToolbarTextButton,这个类我没找到,结果只能用字符串匹配了。

if ([[NSString stringWithFormat:@”%@”,[touch.view class]] isEqualToString:@”UIToolbarTextButton”]) {
        return NO;
    }

巨大的坑啊

时间: 2024-10-30 10:17:38

UITextField禁用掉编辑之后...的相关文章

[系统软件]Ubuntu 18.04中的Shutter禁用了“编辑”选项解决

本文引用自linux公社, 原文请点击 : https://www.linuxidc.com/Linux/2018-04/151911.htm 在Ubuntu 18.04中安装了我最喜欢的截图工具Shutter后,我发现编辑按钮变编程灰色.这个快速提示将向您展示如何重新启用Shutter中的编辑功能. Ubuntu安装Shutter命令: sudo apt-get install shutter 要重新启用"编辑"选项,Shutter需要libgoo-canvas-perl库,该库在U

如何显示在Exchange2010/2016中被禁用掉的邮箱账户?

近期在Exchange2010中遇到邮箱账户被误操作而禁用了,结果在控制台中怎么也翻不出来了.这种情况是因为被禁用的账户还在受保护的时间内(默认30天),也就是说在这个周期内是可以与其账号重新恢复链接的.(需要对数据库实例挨个进行配置) 在Exchange Server 2010这个版本中,我们可以通过Exchange Management Shell输入下列命令来解决: Clean-MailBoxDatabase 'Database_Name'     #Database_Name是该账号所在

UIControl IOS控件编程 及UITextField的讲解

第一部分 UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageControl分页控件. 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有控件都拥有一套共同的属性和方法. 所以学

简述sysctl和利用sysctl禁用ipv6模块

目前在大部分的实际生产环境中ipv6并没有被大规模使用,所以在很多的服务器上ipv6的模块的开启往往会带来很多安全隐患和麻烦,那么我们就需要禁用掉ipv6的模块,以前只是利用ip6tables来关闭ipv6的进出策略(可参看http://jim123.blog.51cto.com/4763600/1844094),但是在内核上常常还会有ipv6的影响,这个才平时分析日志的时候还是会发现,这个时候就可以利用sysctl命令来修改用于在内核运行时动态地修改内核的运行参数,不得不说sysctl是一个很

UITextField

UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等. 初始化一个文字框: UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 30, 100, 100)]; 设置和获取文字框文字: @property(nonatomic,copy)  NSString *text; 通过AttributedString创建和获取文字: @property(nonato

UITextField知多少

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBord

UITextField各种属性

//初始化textfield并设置位置及大小 UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 textField.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine,

UITextField 用法

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBord

ios UITextField

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBord