iOS模拟键盘长按删除
2017-07-21 10:53
399 查看
最近做第三方键盘开发,模拟键盘的长按删除
删除按钮上添加长按事件:
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];
}
删除按钮上添加长按事件:
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 Simulator模拟键盘上的return键去除键盘
- IOS 如何发送键盘事件,模拟键盘输入
- android键盘监听并模拟iOS提供的部分键盘事件
- iOS - 监听UITextField键盘删除键之分类
- iOS监听键盘的删除按键事件
- iOS - 监听键盘删除键之非代理实现
- iOS - 监听UITextField键盘删除键之分类
- 160601iOS 模拟器 打开关闭模拟键盘
- iOS键盘删除健删除表情
- iOS监听UITextView、UITextField键盘删除键
- iOS textView光标位置输入以及删除字符或者emoji表情(自定义键盘的删除方法)
- anroid模拟键盘删除
- IOS_系统键盘判断删除按钮被按下
- iOS - 开发中监听系统键盘删除按钮 , 回车按钮小技巧
- iOS监听UITextView、UITextField键盘删除键
- 打开键盘遮住View的问题解决方法-IOS开发
- iOS的本地推送删除不了解决方法
- iphone:ios中文件的相关操作:读,写,删除
- IOS网络第七天WebView-02WebView和网页的交互2,删除大众点评多余文字,加上蒙版进度
- iOS开发:自定义数字键盘(两种方式)