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

您还可以创建具有两个单独标签的自定义单元格。这具有将标签彼此叠置或以任何其他布置方式放置的优点。您还可以使用免费的Sensible TableView等框架为您自动填写这些标签。

于 2013-07-10T18:35:06.930 回答
0

当然有可能。您需要自己制作UITableViewCell,以便可以将两个字段显示到同一个单元格中。看看本教程,它可以满足您的需求。

于 2013-07-10T13:47:26.967 回答
0

将其从我的评论中带到 anwser:

利用

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 回答