didSelectRowAtIndexPath分配值

时间:2014-02-24 15:48:10

标签: objective-c ipad uitableview didselectrowatindexpath

我有一个问题,我猜,简单的事情。 我有一个(它不是一个SplitViewController)ViewController,里面有一个TableView对象。 我希望当用户单击表格中的一行时,右侧的标签会相应更改。

My screen - ViewController with a TableView. It is NOT a SplitViewController

我的标签(右边的文字“Nome do Vinho”)我想要改变

@property (weak, nonatomic) IBOutlet UILabel *rotuloDetalhesLabel;

我使用此代码填充TableView。 我在viewDidLoad方法上创建对象并放入一个名为“vinhos”的NSArray。

// Create object 
Vinho *vinho1 = [Vinho new];
vinho1.rotulo = @"Adega de Borda Premium";

Vinho *vinho2 = [Vinho new];
vinho2.rotulo = @"Adega de Borda Premium 2";


// Populate the NSArray with the objects that I create before
vinhos = [NSArray arrayWithObjects: vinho1, vinho2, nil];

填充TableView

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Configura a Cell
    static NSString *CellIdentifier = @"TableCell";
    TableCell *cell = (TableCell *)[self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[TableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    Vinho *vinho = [vinhos objectAtIndex:indexPath.row];

    // rotuloLabel is the Label of the row
    cell.rotuloLabel.text  = vinho.rotulo;

    return cell;
}

我猜它是在didSelectRowAtIndexPath方法上制作的,但我不知道怎么做。 如果我忘记发布一些重要信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

您是否要将右侧的标签更改为单元格文本?

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    Vinho *vinho = [vinhos objectAtIndex:indexPath.row];
    NSString *cellRotuloText = vinho.rotulo;
    rotuloDetalhesLabel.text = cellRotuloText;
}

如果你不像你在评论中所说的那样褪色动画,也许这可以让你开始:xCode ios5: How to fade out a label text after an interval?