UITableViewCell通常使用UITableViewDelegate或UITableViewDataSource协议方法绘制,例如
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
但是我如何更改这些方法之外的细胞?例如,如果我想使用同一屏幕上的按钮将UITableViewCell的textLabel颜色变为红色,我将如何引用该单元并进行更改?
答案 0 :(得分:3)
如果我正确理解您的问题,假设您知道要更改的单元格的行索引,则只需让按钮使用该方法:
- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
...获取要编辑的UITableViewCell,然后使用该指针更改单元格textColor属性等。
UITableViewCell *firstCell = [someTableView cellForRowAtIndexPath:0];
firstCell.textColor = [UIColor redColor];
答案 1 :(得分:1)
最简单的方法可能是有一个变量来存储你想要行的颜色。
当您按下按钮时,将变量更改为新颜色,然后调用[tableview reloadData]
答案 2 :(得分:0)
您可以从tableView:cellForRowAtIndexPath:方法中访问该按钮吗?如果是这样,您可以使用NSNotificationCenter在按下按钮时发布通知,并从表视图单元(您必须子类)中侦听这些通知。