0

我在一个视图中有许多文本字段和一个文本视图,我想要做的是在编辑停止后通过这些 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 成为第一响应者并且出现小键盘 4. 点击外部。现在键盘没有消失

4

2 回答 2

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
于 2014-08-11T09:40:46.417 回答
0

尝试以下方法可能有用

如果您使用的是当前模型视图控制器

- (BOOL)disablesAutomaticKeyboardDismissal {

return NO;

}
于 2014-06-16T11:50:41.657 回答