0
편집 할 수있는 uitextview가 있습니다. 표준 키보드 백 스페이스/삭제 단추 operation.ie 반복 기능을 모방 한 백 스페이스 삭제 단추를 추가하려고합니다.uitextview 반복하여 텍스트 단추를 삭제합니다.
편집 할 수있는 uitextview가 있습니다. 표준 키보드 백 스페이스/삭제 단추 operation.ie 반복 기능을 모방 한 백 스페이스 삭제 단추를 추가하려고합니다.uitextview 반복하여 텍스트 단추를 삭제합니다.
나는 목표에 추가하지 않고 화면에 버튼을 추가하여이 방법에 접근합니다. 그런 다음 터치 이벤트를 사용하여 버튼 동작을 트리거합니다. 버튼을 만들 때 태그를 고유 한 값으로 설정하십시오. 예제에서는 태그를 100으로 설정했습니다. 다음 코드를 구현하면 좋을 것입니다.
- (void)backspace {
if (![textField.text isEqualToString:@""]) {
NSString *backspace = textField.text;
int lengthofstring = backspace.length;
backspace = [backspace substringToIndex:lengthofstring - 1];
textField.text = backspace;
}
}
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch *touch = [touches anyObject];
if (touch.view.tag == 100) {
timer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(backspace) userInfo:nil repeats:YES];
}
}
-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch *touch = [touches anyObject];
if (touch.view.tag == 100) {
if (timer != nil)
[timer invalidate];
timer = nil;
}
}
-(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch *touch = [touches anyObject];
if (touch.view.tag == 100) {
if (timer != nil) {
[timer invalidate];
timer = nil;
}
}
}
확인. 너 뭐 해봤 니? 귀하의 질문은 무엇인가? 어떤 도움이 필요 하신가요? 당신이 당신 자신의 커스텀 inputView를 사용하고 있다는 것을 암시하고 있습니까? 좋은 대답을 얻는 가장 좋은 방법은 훌륭하고 완전하고 명확한 질문을하는 것입니다. – rmaddy
u 표준 키 보드 삭제 키를 터치하고 반복합니다.이 동작을 모방하는 버튼이 필요합니다. NSTimers를 조사했습니다.이 예가 도움이 될 것입니다. – user1725650
타이머를 사용하는 것이 내가 사용하는 방법입니다. 사용자가 버튼을 누를 때 반복 타이머를 시작하십시오. 사용자가 버튼을 놓을 때 타이머를 취소합니다. 각 타이머 동작은/backspace를 삭제해야합니다. – rmaddy