最近做第三方键盘开发,模拟键盘的长按删除

删除按钮上添加长按事件:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizeralloc] initWithTarget:selfaction:@selector(deleteMore:)];

[deleteBtn addGestureRecognizer:longPress];

事件响应:

- (void)deleteMore:(UILongPressGestureRecognizer*)sender {

if (sender.state ==UIGestureRecognizerStateBegan) {

[selfbeginDelete];

} elseif (sender.state ==UIGestureRecognizerStateEnded){

[selfendDelete];

}

}

- (void)beginDelete {

[self.timerinvalidate];

self.timer =nil;

self.timer = [NSTimertimerWithTimeInterval:0.1repeats:YESblock:^(NSTimer *_Nonnull timer) {

[self.textDocumentProxydeleteBackward];

}];

[[NSRunLoopmainRunLoop]addTimer:self.timerforMode:NSRunLoopCommonModes];

}

- (void)endDelete {

[self.timerinvalidate];

self.timer =nil;

}

注意:beginDelete中timer支持10以上api,如果需要支持10以下请改为:

- (void)deleteMore:(UILongPressGestureRecognizer*)sender {

if (sender.state ==UIGestureRecognizerStateBegan) {

[selfbeginDelete];

} elseif (sender.state ==UIGestureRecognizerStateEnded){

[selfendDelete];

}

}

- (void)beginDelete {

[self.timer invalidate];

self.timer = nil;

self.timer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(delete:) userInfo:nil repeats:YES];

[[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];

}

- (void)endDelete {

[self.timer invalidate];

self.timer = nil;

}

- (void)delete:(NSTimer*)timer {

[self.textDocumentProxy deleteBackward];

}

iOS模拟键盘长按删除相关推荐

  1. selenium模拟键盘事件(回车、删除、刷新等)

    需要引入keys from selenium.webdriver.common.keys import Keys sendkeys可以模拟键盘输入和键盘上的按键: send_keys(Keys.BAC ...

  2. python3模拟键盘输入_Python模拟键盘输入

    使用pynput库达到模拟键盘输入的目的(也可以进行鼠标模拟). 1.安装pynput库 pip install pynput 2.引入键盘所需类 from pynput.keyboard impor ...

  3. Python 模拟键盘鼠标操作实战教程

    在某些情况下,如果我们需要进行自动化操作的应用没有提供相应的接口,我们无法直接通过Python来调用API实现自动化.这种情况下,Python也不是完全没有办法的,我们可以采用模拟键盘和鼠标的方式实现 ...

  4. C++模拟键盘操作窗口入门

    C++模拟键盘操作窗口入门之文件监控操作句柄操作 #include <iostream> #include <windows.h> #include <tchar.h&g ...

  5. Cypress之模拟键盘鼠标操作以及页面元素拖动操作

    上篇文章讲解了使用cypress框架时,如何上传或者下载文件,以及定位操作iframe和shadow dom下的页面元素.此次课程将讲解如何模拟键盘输入.鼠标操作以及如何拖动页面元素,另外,会介绍如何 ...

  6. Android电子牌外接USB读卡器读取内容模拟键盘事件

    最近做了一个Android外接USB读卡器刷手环读取数据,模拟键盘输入事件的项目; 借鉴了https://github.com/githubRonda/BarcodeScanner 连接电子牌板子调试 ...

  7. iOS - 监控键盘高度、屏蔽字符、限制字符个数

    iOS开发中,经常会用到UITextView,UITextField输入文本操作,默认的键盘输入会有emoji表情.空格.非法字符等,会与实际的产品需求不符,这时候就需要我们做限制,禁止输入表情或者空 ...

  8. 按键精灵模拟键盘批量输入英文大小写

    可以直接看最后面的,前面的方法已经过期... 起因:闲来 无聊,公司开发的方式是虚拟云平台,所有工作都在云平台上完成,所以云平台外面的数据文档无法和云平台直接传送,如有需要,必须写申请单,向领导申请, ...

  9. web仿微信支付界面,自定义模拟键盘

    web仿微信支付界面,自定义模拟键盘 可谓是煞费苦心 还是自己技能不足,不过还是出来了 这里先声明:下面不是全部代码,想要全部代码的可以到个人主页下载 先看下效果图 第一板块是html界面 有需要完整 ...

最新文章

  1. 小团队如何玩转物联网开发?
  2. 皮一皮:直男相亲还想着龙珠...
  3. 10个奇幻的HTML5和Javascript效果
  4. 分布式服务常见问题—分布式事务
  5. MOSS 2007的备份与恢复
  6. std::string删除首字符
  7. shell语法 06-Linux文本处理-grep
  8. bootstrap select2 php,JS组件Bootstrap Select2使用方法详解
  9. 下载MNIST数据集并使用python将数据转换成NumPy数组(源码解析)
  10. python任务调度平台 界面_分布式任务调度平台XXL-JOB搭建教程
  11. 汉字的动态编码与显示方案
  12. APM终端用户体验监控分析(下)
  13. atitit.交换机 汇聚上联、网络克隆和标准共享的原理与区别
  14. 史上最全网易云音乐的API接口
  15. 数据库系统概述--数据库习题
  16. 删不掉文件夹怎么办?
  17. c# - - - 使用Chloe框架连接PostgreSQL数据库
  18. 百度收集子域名(2021.9.9)
  19. IE浏览器打开闪退,自动切换MicrosoftEdge浏览器
  20. python 线程通信的几种方式_Python 线程、线程通信、多线程

热门文章

  1. OpenCV的Masking操作
  2. Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields【菜鸟读者】
  3. MWC 2017:S8缺席,三星祭出AR/VR项目救场
  4. 手机端点击图片全屏预览
  5. Photoshop:使用层遮照制作图像渐变特效(2)
  6. y7000电池固件_y7000怎么刷电池固件|Surface Pro 3固件更新:电池续航问题终解决
  7. 亚马逊多店铺统一管理还不会关联?原来是靠它
  8. 女性最容易出轨的8种职业
  9. 什么是一对一电脑无人直播?
  10. 小米浏览器禁用java_2019-03-11 小米散招面试-Java后台实习