0

我有一个带有一些静态单元格的 UITableViewController。每个单元格都有正确的细节样式。通过触摸其中一个,我转到下一个控制器。在下一个控制器中,我有两个带有复选标记的单元格。

问题:如何通过仅触摸 NEXT 控制器上的一个单元格来查看“正确细节”的信息?

4

1 回答 1

0

根据上面的评论,我对您想要实现的目标有了一个初步的了解。您想使用[cell setAccessoryView:aView];而不是setAccessoryType.

对应于您想要显示多少信息(如果它只是一个小图像或一个巨大的 textView),有更好的选择。

我建议创建一个自定义UITableViewCell子类。这些可以在 IB 中布局,您可以很容易地连接 IBOutlets 并在其上放置自定义方法和属性:

- (void)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    MUTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if(!cell) {
        cell = (MUTableViewCell *)[[[NSBundle mainBundle] loadNibNamed:@"MUTableViewCell" owner:nil options:nil] objectAtIndex:0];
    }
    [cell setStoredInfoText:[inforSourceArray objectAtIndex:[indexPath row]]];
    return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    MUTableViewCell *cell = (MUTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
    [cell callYourCustomMethod];
    [cell setInfoFieldText:@"my informational text"];
    // or either display the information you set later to the cell in -cellForRowAtIndexPath
    [cell setInfoFieldText:[cell storedInfoText]];
    // you can also merge the above methods to a method called displayInfo which then gets the storedText property internally:
    [cell displayInfo];
}


MUTableViewCell.h
@property (nonatomic, retain) NSString *storedInfoText;
@property (nonatomic, strong) IBOutlet UILabel *label;
- (void)setInfoFieldText:(NSString *)text;
- (void)displayInfo;

MUTableViewCell.m
- (void)setInfoFieldText:(NSString *)text {
    [_label setText:text];
}
- (void)displayInfo {
    [_label setText:_storedInfoText];
}
于 2013-07-12T10:43:09.667 回答