編輯完UITextField
並按下返回後,我循環並檢查下一個字段。我得到該字段的索引路徑,然後保存它。接下來,我重新加載表格數據,並且在建表時,如果indexPath
等於下一個文本字段的indexPath
,那麼我將它設置爲第一響應者。firstResponder沒有設置
我抓住正確的textField
在正確的indexPath
和一切,但第一響應沒有得到設置。相反,焦點就會消失。
我的代碼:
//inside UITextFieldShouldReturn
for (int i = uiTextField.fieldTag + 1; i < group.fields.count; i++) {
ObjectEditField *field = [group.fields objectAtIndex:i];
if (field.propName && field.updateObjectOnEdit == YES && [field isKindOfClass:[ObjectEditTextField class]]) {
// set the active field
activeField = field;
// obtain a pointer to the textfield object and set it to be the first responder
ObjectEditTextField *textField = (ObjectEditTextField *)field;
if (![textField.field isFirstResponder]) {
UITableViewCell *cell = (UITableViewCell *)[[[uiTextField superview] superview] superview];
firstResponderIndexPath = [_fieldsTableView indexPathForCell:cell];
然後,一旦我已在firstResponderIndexPath
我打電話reloadData
在表視圖,而且裏面tableView:cellForRowAtIndexPath:
我:
if (firstResponderIndexPath.row + 1 == indexPath.row)
{
ObjectEditTextField *textField = (ObjectEditTextField *)field;
NSLog(@"display: %@", textField.field.text);
[textField.field becomeFirstResponder];
}
爲NSLog
的輸出是否正確,它應該是。然而,第一響應者沒有正確設置。
請不要再次創建相同的問題。 – Sulthan 2013-04-26 19:38:58