0
考虑一个包含三个或更多个名为“A”,“B”,“C”等的UITextField子视图的简单视图。视图控制器实现UITextFieldDelegate并且具有textFieldShouldEndEditing,看起来像以下:触摸意图的最佳实践
- (BOOL)textFieldShouldEndEditing:(EFFUITextField *)textField
{
return [self isValidSolution];
}
如果所述第一响应是场A和用户轻敲字段C,假设字段A通过在isValidSolution的标准,C区域将成为第一响应者。
现在考虑同样的情况,但现在我们希望提示与UIAlertController用户,使他们能够覆盖无效的条件:
- (BOOL)textFieldShouldEndEditing:(EFFUITextField *)textField
{
if ([self isValidSolution])
return YES;
[self promptUser];
return NO;
}
由于UIAlertController是异步处理,我们需要能够检测它是C领域,用户点击并使其成为第一响应者。
检测用户意图输入哪个字段的最佳做法是什么?如果用户选择忽略验证差异,我们可以使其成为第一响应者?
使用textfieldShouldBeginEditing – beyowulf