2 つの異なる customcell 定義を持つ UITableView があります。1 つは単一の UITextField で、もう 1 つは 4 つの UITextField です。
userInteractionEnabled は、セル レベルのタッチ ナビゲーションを有効にするように手動で設定され、関連するセルへの最初のレスポンダーへの didSelectRowAtIndexPath 内の UI インタラクションを処理します。
1 つの UITextField (editableTextField) で 1 つの customcell (EditableCustomCell) だけを使用していたとき、これはすべて正常に機能しましたが、今では 4 つの UITextField (度、分、秒、デカルト) を持つ customcell (LatLonCustomCell) があり、どのフィールドがbecomeFirstResponder を設定するために触れられました
(現在、デバッグ中に度と呼ばれる最初のテキストフィールドでデフォルト設定しています)
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[prevField resignFirstResponder];
prevField.userInteractionEnabled = NO;
if(indexPath.section == kFirstSection && (indexPath.row == kLatitudeRow || indexPath.row == kLongitudeRow)) {
LatLonCustomCell *customCell = (LatLonCustomCell *)[MyTableView cellForRowAtIndexPath:indexPath];
currField = customCell.degrees; // need to set correct field here
} else {
EditableCustomCell *customCell = (EditableCustomCell *)[MyTableView cellForRowAtIndexPath:indexPath];
currField = customCell.editableTextField;
}
currFieldIndexPath = [NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section];
currField.userInteractionEnabled = YES;
[currField becomeFirstResponder];
}