我正在提出一个有字段的popover。我正在使用“textFieldShouldEndEditing”来对文本进行一些验证。如果输入的文本无效,我返回“NO”。
解雇我的popover时的问题。如果文本无效,textFieldShouldEndEditing将返回“NO”。在我关闭弹出窗口并单击任何其他文本字段后,该字段不会被选中。我无法输入任何其他字段,键盘也不显示。
避免这种行为的最佳方法是什么?
答案 0 :(得分:0)
我不完全确定你想要达到的目标,但是我想你可以在你解雇弹出窗口时进行一些检查。
-(void)dimissView
{
//We already know we are going to dismiss the view right away, so we can set
//[textField resignFirstResponder];, no matter if the text is valid or not
if(textView.text is valid)//Create some condition
{
//tell the parentView that textField.text was valid
}
else
{
//Tell the parentView that textField.text was invalid
}
[view dismissViewControllerAnimated:YES completion:nil];
}
如果你找到一种方法告诉popover的父级,textField是无效的,IE设置了bool textFieldTextWasValid = NO;
,那么你可以轻松检查,并在你尝试时做出适当的行为在父级中选择另一个textView,或者不管你的情况如何。
请注意,这不是正常工作的代码,这只是一个想法,您需要了解它才能使其正常工作。