我想在UITableViewCell的initWithStyle方法中更改UILabel文本颜色。但颜色并没有改变。 但是当在cellForRowAtIndexPath方法中完成颜色更改时,颜色会发生变化。为什么?
答案 0 :(得分:0)
根据您使用标签的方式,您只需设置textColor属性:
为了在- (UITableViewCell*)tableView:(UITableView *)tableView
方法中创建tableViewCell,我认为您使用了以下内容:
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
您的风格可能是UITableViewCellStyleDefault
或UITableViewCellStyleValue1 or
UITableViewCellStyleValue2 or
UITableViewCellStyleSubtitle`。
如果您要添加自己的标签而不是使用,请使用以下任何样式:
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,25)];
lbl.text = @"your Text";
[lbl setTextColor:[UIColor greenColor]];
如果您没有添加自己的标签并使用textLabel
或detailTextLabel
UITableViewCell
对象的默认标签:
[cell.textLabel setTextColor:[UIColor greenColor]];
[cell.detailTextLabel setTextColor:[UIColor greenColor]];
如果要在子视图中添加任何标签,请执行以下操作:
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,25)];
lbl.text = @"your Text";
[lbl setTextColor:[UIColor greenColor]];
您可以用您想要的颜色替换greenColor
。
希望这会有所帮助:)