我设计了一个带有四个 UITextField 的表单。第一个用于输入数字,第二个用于输入名称,第三个用于选择日期,最后一个用于选择时间。使用数字键盘的第一个文本字段将通过使用键盘上的完成按钮隐藏。如果用户从第一个(数字文本字段)进入第二个(名称文本字段)时,第一个键盘会完美隐藏。如果用户输入名称并选择日期文本字段,则在操作表中显示日期选择器,当用户选择日期并点击完成/取消按钮时,我会隐藏操作表。但是,名称文本字段键盘不会从屏幕上消失。我已经绑定(bind)了下面的代码,它不起作用。有人可以提出这个澄清的想法吗?提前致谢。
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField == numberTextfield)
{
[textField setInputAccessoryView:keyboardToolbar];
}
else if(textField == nameTextfield)
{
}
else if(textField == dateTextField)
{
[self showdateActionSheet];
[nameTextfield resignFirstResponder];
[dateTextField resignFirstResponder];
}
else if(textField == timeTextField)
{
[timeTextField resignFirstResponder];
[nameTextfield resignFirstResponder];
}
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField // If the user select Return key it is dismissing fine
{
[nameTextfield resignFirstResponder];
return YES;
}
-(BOOL) textFieldShouldEndEditing:(UITextField *)textField
{
[nameTextfield resignFirstResponder];
return YES;
}
-(void) DateDone
{
[nameTextfield resignFirstResponder];
}
-(void) timeDone
{
[nameTextfield resignFirstResponder];
}
最佳答案
戈皮纳特。请尝试我的以下代码,
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (textField == dateTextField )
{
[nameTextfield resignFirstResponder];
[self showdateActionSheet];
[dateTextField resignFirstResponder];
}
else if( textField == timeTextField)
{
[nameTextfield resignFirstResponder];
[self ShowTime];
[timeTextField resignFirstResponder];
}
return YES;
}
我相信我会帮助你。
关于iphone - UITextField ResignFirstRespond 在 iPhone 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512450/