UITableView,UILabel 文本颜色在选择行时没有改变? [关闭]

Posted

技术标签:

【中文标题】UITableView,UILabel 文本颜色在选择行时没有改变? [关闭]【英文标题】:UITableView, UILabel text color not changing while selecting row? [closed] 【发布时间】:2014-07-23 05:41:28 【问题描述】:

我有UITableView,我在UITableView 中有四个带有文本(白色)的标签,当我选择行时,我想在blackColor 中更改标签textcolor

【问题讨论】:

【参考方案1】:

没有你的代码很难说你哪里错了?但我把我的逻辑放在这里

首先给出cellForRowAtIndexPath中每个UILabel的标签,比如,

lbl1.tag = 101;
lbl2.tag = 102;
.
.
.

然后

- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    UITableViewCell *cell = [self tableView:tv cellForRowAtIndexPath:indexPath];

    UILabel *label = (UILabel*)[cell viewWithTag:101]; // you can get label like
    [label setTextColor:RedColor]; // set as you want
    .
    .
    // write for each label


当你的单元格被取消选择时,也可以设置它的颜色。

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

    UITableViewCell *cell = [self tableView:tv cellForRowAtIndexPath:indexPath];

    UILabel *label = (UILabel*)[cell viewWithTag:101]; // you can get label like
    [label setTextColor:RedColor]; // set color as it is
    .
    .
    .
    // write for each label

【讨论】:

我只创建了一个标签为 indexpath.row 的 uilabel,但它不起作用 @RameshKumar - 那就跟我来吧。 是的,我认为这个标签会起作用,因为标签在单元格内... @iPatel 我试过它不工作 @RameshKumar - 然后把你的代码放在这里。还是您将[cell viewWithTag:101] 更改为[cell viewWithTag:indexPath.row]【参考方案2】:

你应该使用didSelectRowAtIndexPath tableView 委托方法:

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

      // Change your text color here.

【讨论】:

我只在最后一行尝试过更改 用标签或 indexPath 获取您选择的单元格并更改它。【参考方案3】:

默认情况下,UILabeltextColorblackColor。你厂牌的textColor是怎么变成whiteColor的?

无论如何,您可以像这样更改标签的textColor

label.textColor = [UIColor blackColor];

万事如意!!!

【讨论】:

我创建了 uilabel 和它的 textcolor 然后 addsubview 到 cell.contentview 现在我正在尝试更改 didselectrow 中的颜色但它没有改变,只有颜色变化出现在任何行选择的最后一行【参考方案4】:

CellForRowAtIndexPath,使用以下代码:

选择:

label.highlightedTextColor = [UIColor blackColor];

正常:

label.textColor = [UIColor whiteColor];

【讨论】:

它在表格视图选择中不起作用 那么你需要在 didSelectRowAtIndexPath 方法中使用选中的索引,并更改 UILabel 的文本颜色。

以上是关于UITableView,UILabel 文本颜色在选择行时没有改变? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在特定行选择上更改 UITableView 所有行的标签颜色

uitableview 中的 Uilabel 在调试模拟器颜色混合层中不显示不透明且不透明

设置在 uitableview 单元格中添加的 uilabel 的文本

尝试使用 Swift 在 UITableView 中的部分标题的 UIView 中设置 UILabel 的文本

在表格中突出显示 UILabel

文字改变时UILabel文字颜色改变