我的项目中有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;
}
答案 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>