私はストーリーボードと動的 UITableView を使用して、以下のようにセルを追加しています。このテキストを各セルの UITextField や UISwitch 状態などに保存する方法を知る必要があるため、上下にスクロールしてもデータは失われません。また、アプリを閉じたときに、再度開いたときに入力したデータを表示する必要があります。私はプログラミングを始めたばかりで、これが私の最初の UItableView プロジェクトです。コーディング例は素晴らしいでしょう。できるだけ詳しく教えてください! 前もって感謝します!
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
// Make cell unselectable and set font.
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textLabel.font = [UIFont fontWithName:@"ArialMT" size:13];
if (indexPath.section == 0) {
UITextField* tf = nil;
switch ( indexPath.row ) {
case 0: {
cell.textLabel.text = @"Name" ;
tf = nameFieldTextField = [self makeTextField:self.name placeholder:@"John Appleseed"];
nameFieldTextField.tag = 1;
[cell addSubview:nameFieldTextField];
break ;
}
case 1: {
cell.textLabel.text = @"Address" ;
tf = addressFieldTextField = [self makeTextField:self.address placeholder:@"Street Address"];
addressFieldTextField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
[cell addSubview:addressFieldTextField];
break ;
}
case 2: {
cell.textLabel.text = @"Email" ;
tf = emailFieldTextField = [self makeTextField:self.email placeholder:@"example@gmail.com"];
emailFieldTextField.keyboardType = UIKeyboardTypeEmailAddress;
[cell addSubview:emailFieldTextField];
break ;
}
case 3: {
cell.textLabel.text = @"Phone" ;
tf = phoneFieldTextField = [self makeTextField:self.phone placeholder:@"xxx-xxx-xxxx"];
phoneFieldTextField.keyboardType = UIKeyboardTypePhonePad;
phoneFieldTextField.tag = 10;
phoneFieldTextField.text = [self formatPhoneNumber:phoneFieldTextField.text deleteLastChar:YES];
[cell addSubview:phoneFieldTextField];
break ;
}
case 4: {
cell.textLabel.text = @"DOB" ;
tf = dateOfBirthTextField = [self makeTextField:self.dateOfBirth placeholder:@"xx/xx/xxxx"];
dateOfBirthTextField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
[cell addSubview:dateOfBirthTextField];
break ;
}
}
// Textfield dimensions
tf.frame = CGRectMake(120, 12, 170, 30);
// Workaround to dismiss keyboard when Done/Return is tapped
[tf addTarget:self action:@selector(textFieldFinished:) forControlEvents:UIControlEventEditingDidEndOnExit];