我有一个tableview,tableview中填充了.plist中的项目。
然后我使用此方法为按下某些内容时添加功能:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == 0) { //do something
}
if (indexPath.row == 1) { //do something
}
等等等等
我在IB /故事板中设置了字体颜色但是我想在按下时更改文本的颜色。所以基本上我希望它在按下时像UIButton一样。
当然,并不是所有文本都应该在按下一个单元格时更改,而只是当前单元格中正在按下的文本的颜色。
答案 0 :(得分:1)
您可以更改所选单元格中的所有内容
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.font=[UIFont fontWithName:@"Arial"];
cell.contentView.backgroundColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
}
-(void)tableView:(UITableView *)tableView deSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.font=[UIFont fontWithName:@"Arial"];
cell.contentView.backgroundColor = //default color;
}
答案 1 :(得分:0)
UIView *selectedBackgroundView = [[UIView alloc] init];
selectedBackgroundView.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = selectedBackgroundView;
答案 2 :(得分:0)
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (indexPath.row == 0)
{
cell.labelText.color = [UIColor redColor];
}
if (indexPath.row == 1)
{
cell.labelText.color = [UIColor greenColor];
}
}
答案 3 :(得分:0)
一个选项(我假设您有一个UITableViewCell子类MyTableViewCell,根据需要调整):
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == 0) { //do something
}
if (indexPath.row == 1) { //do something
}
MyTableViewCell *cell = (MyTableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
// Adjust your cell contents as needed
还添加取消选择委托方法以还原更改:
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
MyTableViewCell *cell = (MyTableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
// Adjust your cell contents back to normal
另一种选择是覆盖setSelected:animated:和setHighlighted:在UITableViewCell子类中进行动画处理,并对那里的单元格元素进行适当的更改。