开发者

Problem with dismissing the keyboard when focus leaves a UITextView

I have 3 uitextfield in my project

I need to when tap inside one of them (uitextfield2 ) a custom subview appear , and need the key board to appear when tap on one another (uitextfield1 )

the problem is when I tab on uitextfield1 , the keypad appear and not go even I clicked return or tap on another uitextfield2

I need the keyb开发者_开发百科oard to disappear when I click out of the uitextfield1 or when click return

I use the following code

 - (BOOL)textFieldShouldReturn:(UITextField *)textField { // When the return button is pressed on a textField.


     [textField resignFirstResponder]; // Remove the keyboard from the view.
    return YES; // Set the BOOL to YES.
} 

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
   // [textField resignFirstResponder]; 
    [self SelectModalityClick]; // will be called If i tapped inside the uitextfield2 to display the custom view 

    return NO;

}


When you create your UITextField instances, you can set the inputView to whatever UIView subclass you want with something like this.

UITextField *aTextField = [[UITextField alloc] initWithFrame:aRect];
aTextField.inputView = myCustomInputView; // Set this up in your viewDidLoad method
aTextField.delegate = self;
aTextField.tag = MyCustomInputView; // #define this as some integer
[self.view addSubview];
[aTextField release];

You shouldn't need to do anything special to make the correct input view appear, if you have a UITextField instance variable for the first responder, just assign it in textFieldShouldBeginEditing: and resign its first responder status in textFieldShouldReturn:.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜