答案 0 :(得分:0)
谢谢@Hardik Shah。从那个链接我修改了代码并做出我想要的答案。如果任何人需要该解决方案,我会提供该解决方案。
1.您必须使用UITextView作为答案,因为当文本字段为空时,UITextField不支持删除按钮事件。
2.导入UITextViewDelegate并将textview委托分配给self。
self.yourTextView.delegate = self;
3.从你的故事板中输出textview标签,或者从你需要的1个文本视图字段中编程一次(这里我需要6个textview)。
4.实现UITextViewDelegate方法(textView:shouldChangeTextInRange:replacementText :)并添加以下代码。 在这里,我给了我的方法。
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ((textView.text.length == 1) && (text.length == 1))
{
NSInteger nextTag = textView.tag + 1;
UIResponder* nextResponder = [textView.superview viewWithTag:nextTag];
if (!nextResponder)
return NO;
if (nextResponder)
[nextResponder becomeFirstResponder];
}
else if ((textView.text.length == 0) && (text.length == 0))
{
NSInteger nextTag = textView.tag - 1;
UIResponder* nextResponder = [textView.superview viewWithTag:nextTag];
if (!nextResponder)
return NO;
if (nextResponder)
[nextResponder becomeFirstResponder];
}
return YES;
}