我在视图中有一些文本字段,还有一个textView,我想要做的是在编辑停止后通过这些UI元素进行选项卡,并且元素将状态重新设置为FirstResponder。
//点击屏幕上空白区域的代码,以便键盘消失
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
//文本字段现在应该是文本区域应该结束编辑后的第一个响应者
-(BOOL)textViewShouldEndEditing:(UITextView *)textView{
[self.txtNumber becomeFirstResponder];
return YES;
}
在执行以下步骤后出现问题 1. textView成为第一响应者 2.在textview外部点击作为第一响应者 3. txtNumber成为第一响应者并出现numpad 4.轻拍外面。 现在键盘不会消失
答案 0 :(得分:1)
使用:
@implementation ViewController
NSNumber *tabCount;
-(void) viewDidLoad
{
tabCount = 0;
}
-(void)textViewDidBeginEditing:(UITextView *)textView
{
if([tabCount integerValue] ==0)
[self.txt0 becomeFirstResponder];
if([tabCount integerValue] ==1)
{
[self.txt0 resignFirstResponder];
[self.txt1 becomeFirstResponder];
}
return YES;
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
tabCount = tabCount + 1;
}
@end
可以使用以下方法为UITextField完成相同的概念:
-(void)textFieldDidBeginEditing:(UITextField *)textField
-(BOOL)textFieldShouldReturn:(UITextField*)textField
答案 1 :(得分:0)
尝试以下方法 可能有用
如果您使用的是现有模型视图控制器
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}