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