views:

53

answers:

1

i know it will be setup cell on this method

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

for example if i want to edit property of cell in

tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

how can i access to the cell that i selected?

+1  A: 

You can get visible cell in UITableView using following method:

-(UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

Return Value: An object representing a cell of the table or nil if the cell is not visible or indexPath is out of range.

So in your didSelectRow method you will have something like (you may need to set cell's selectionStyle to UITableViewCellSelectionStyleNone to make your changes display properly):

- tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
    if (cell != nil){
        cell.textLabel.textColor = [UIColor redColor];
    }
}

Or you can subclass UITableViewCell, implement - (void)setSelected:(BOOL)selected animated:(BOOL)animated method and change cell properties there.

Vladimir
could you please show me some example for me for first answer?in the second answer, i think you told me to implement custom UITableViewCell and then override - (void)setSelected:(BOOL)selected animated:(BOOL)animated to handle right?
RAGOpoR
yes, you're right with 2nd part
Vladimir
thank you Vladimir
RAGOpoR