焦点离开UITextView时解除键盘的问题

时间:2011-02-13 14:12:49

标签: objective-c ipad uitextfield

我的项目中有3个uitextfield

我需要点击其中一个(uitextfield2)时出现一个自定义子视图,并且需要在互相点击时显示键盘(uitextfield1)

问题是,当我在uitextfield1上选项卡时,键盘出现,甚至没有点击返回或点击另一个uitextfield2

当我单击uitextfield1或单击return

时,我需要键盘消失

我使用以下代码

 - (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;

}

1 个答案:

答案 0 :(得分:0)

当您创建UITextField实例时,您可以将inputView设置为您想要的任何UIView子类。

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];

如果您有第一个响应者的UITextField实例变量,只需在textFieldShouldBeginEditing中分配它,并在textFieldShouldReturn中重新签名其第一个响应者状态,您就不需要做任何特殊的事情来显示正确的输入视图:。 p>