2014-06-16 26 views
0

我在视图中有一些文本框和一个textView,我试图做的是在编辑停止后通过这些UI元素进行选项卡,并且元素将状态作为FirstResponder返回。touchesBegan EndEditing不工作

//代码在屏幕上的左右键板空白区域挖掘应该消失

-(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.点击外部。 现在键盘没有消失

回答

0

试试下面的方法 可能

,如果你使用的是当前的模型视图控制器有用

- (BOOL)disablesAutomaticKeyboardDismissal { 

return NO; 

} 
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