0

姓と名を別々に入力するストレージ アプリがありますが、名前を同じ tableView アイテムに入れることができるかどうか疑問に思っていました。

ここに私のtableViewコードがあります:

#pragma mark UITableViewDataSource Methods

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"cell"];
    if ( nil == cell ) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    }

    NSLog(@"indexPath.row = %d, patients.count = %d", indexPath.row, patients.count);
    Patient *thisPatient = [patients objectAtIndex:indexPath.row];
    cell.textLabel.text = thisPatient.patientName;
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    cell.textLabel.textColor = [UIColor blackColor];
    if (self.editing) {
        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    }
    return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
                        return [patients count];
}

#pragma mark UITableViewDelegate Methods

- (void) tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if ( editingStyle == UITableViewCellEditingStyleDelete ) {
        [patients removeObjectAtIndex:indexPath.row];
        [tv deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
    }
}

- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    LSAppDelegate *delegate = (LSAppDelegate *)[[UIApplication sharedApplication] delegate];
    PatientController *patient = [[PatientController alloc] initWithIndexPath:indexPath];
    [delegate.navController pushViewController:patient animated:YES];
    [tv deselectRowAtIndexPath:indexPath animated:YES];
}

私は試したcell.textLabel.text = thisPatient.patientName, thisPatient.patientSurname;

名のみが表示されますが、名と姓を表示する必要があります よろしくお願いします

4

3 に答える 3

0

2 つの個別のラベルを持つカスタム セルを作成することもできます。これには、ラベルを重ねて配置したり、他の配置で配置したりできるという利点があります。無料のSensible TableViewなどのフレームワークを使用して、これらのラベルを自動的に入力することもできます。

于 2013-07-10T18:35:06.930 に答える
0

確かにそれは可能です。UITableViewCellただし、両方のフィールドを同じセルに表示できるように、独自に作成する必要があります。このチュートリアルを見てください。必要なことは実行されます。

于 2013-07-10T13:47:26.967 に答える
0

私のコメントからアンサーにそれをもたらすには:

使用する

cell.textLabel.text = [NSString stringWithFormat:@"%@ %@", thisPatient.patientName, thisPatient.patientSurname];

またはあなたの好みのカスタムフォーマット。

また可能:

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"cell"];

-

cell.textLabel.text = thisPatient.patientName;
cell.detailTextLabel.text = thisPatient.patientSurname;
于 2013-07-10T14:28:36.413 に答える