カスタム セルと、このセル内に textField を持つプロトタイプ テーブルを取得しました。
セルの配列が大きいため、テーブルをスクロールすると、セルを再作成する必要があります。
テスト中、あるセルのtxtフィールドにあったテキストを別のセルにスクロールすると、キーボードの種類が変わり、すべてがめちゃくちゃになります!
コード:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"customTableCell";
customTableViewCell *cell = (customTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil)
{
cell = [[customTableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:nil];
}
// Configuration
cell.lblName.text = [self.pfFields objectAtIndex: [indexPath row]];
cell.txtType = [self.pfTypes objectAtIndex: [indexPath row]];
cell.mySql = [self.pfSql objectAtIndex: [indexPath row]];
//cell.txtField.delegate = self;
if ([[self.pfTypes objectAtIndex:[indexPath row]] isEqualToString: @"n"]) {
[cell.txtField setKeyboardType:UIKeyboardTypeNumberPad];
} else if ([[self.pfTypes objectAtIndex:[indexPath row]] isEqualToString: @"m"]) {
[cell.txtField setKeyboardType:UIKeyboardTypeEmailAddress];
}
return cell;
}