iOS模拟键盘长按删除
来源:互联网 发布:数据科学家 编辑:程序博客网 时间:2024/06/05 15:49
最近做第三方键盘开发,模拟键盘的长按删除
删除按钮上添加长按事件:
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.timerinvalidate];
self.timer =nil;
self.timer = [NSTimertimerWithTimeInterval:0.1target:selfselector:@selector(delete:)userInfo:nilrepeats:YES];
[[NSRunLoopmainRunLoop]addTimer:self.timerforMode:NSRunLoopCommonModes];
}
- (void)endDelete {
[self.timerinvalidate];
self.timer =nil;
}
- (void)delete:(NSTimer*)timer {
[self.textDocumentProxydeleteBackward];
}
- iOS模拟键盘长按删除
- anroid模拟键盘删除
- 模拟长按
- GridView长按删除
- 长按删除tableviewCell
- recyclerview长按删除
- iOS键盘删除健删除表情
- IOS 实现类似桌面删除应用程序的效果(长按 可编辑 删除 图片按比例截取)
- 模拟长按Home键
- 160601iOS 模拟器 打开关闭模拟键盘
- IOS 如何发送键盘事件,模拟键盘输入
- ios长按事件
- iOS 长按手势
- iOS 长按手势
- 阻止长按MENU弹出键盘
- 电脑 长按 键盘 卡 解决方案
- iOS监听键盘的删除按键事件
- iOS监听UITextView、UITextField键盘删除键
- windows server2016安装MySQL5.7.19解压缩版
- window下创建sftp服务器和链接
- [leetcode]49. Group Anagrams@Java
- leetcode 4-Median of Two Sorted Arrays
- C++设置开机启动
- iOS模拟键盘长按删除
- UNP第六章 I/O复用:select和poll函数
- C++实现插件体系结构
- java 开发流行的工具库
- Android四大组件:BroadcastReceiver
- 一个tomcat下部署多个项目或一个服务器部署多个tomcat
- 在Ubuntu 16.04和14.04安装Go 1.7
- 基于 Semtech LoRa技术之城市网关方案
- 工厂模式