UITableView,UILabel文本颜色在选择行时没有变化?

时间:2014-07-23 05:41:28

标签: ios objective-c xcode ios7 uilabel

我有UITableView,我在UITableView中有四个带文字(白色)的标签,当我选择要在textcolor中更改标签blackColor的行时。< / p>

4 个答案:

答案 0 :(得分:1)

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

首先在UILabel中为每个cellForRowAtIndexPath提供标记,例如

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
}

答案 1 :(得分:0)

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
      // Change your text color here.
}

答案 2 :(得分:0)

CellForRowAtIndexPath中,使用以下代码:

选择:

label.highlightedTextColor = [UIColor blackColor];

正常:

label.textColor = [UIColor whiteColor];

答案 3 :(得分:0)

默认情况下,textColor的{​​{1}}为UILabel。您的标签blackColor是如何更改为textColor的?

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

textColor

一切顺利!!!