作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图使用 textColor
属性简单地更改我的 UILabel
的颜色,当禁用 userInteraction 时它将不起作用,这没有任何意义,那里文档中根本没有提到这一点。但这就是如果我删除该行,颜色确实会发生变化,但我不希望用户交互。
UITableViewCellStyleValue1
单元格左侧带有标签的单元格样式,标签左对齐,黑色文本;右侧是一个带有较小蓝色文本且右对齐的标签。设置应用程序使用这种样式的单元格。适用于 iOS 3.0 及更高版本。
两个标签均为灰色颜色,并且不会改变颜色。这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
}
//If I remove this line the color changes
cell.userInteractionEnabled = NO;
UIColor *blackColor = [UIColor blackColor];
UILabel *mainLabel = cell.textLabel;
UILabel *detailTextLabel = cell.detailTextLabel;
mainLabel.backgroundColor = blackColor;
detailTextLabel.backgroundColor = blackColor;
//Trying to change color here but no effect
mainLabel.textColor = [UIColor redColor];
detailTextLabel.textColor = [UIColor whiteColor];
UIView *backView = [[[UIView alloc] initWithFrame:cell.frame] autorelease];
backView.backgroundColor = blackColor;
cell.backgroundView = backView;
mainLabel.text = @"Some text";
return cell;
}
编辑:我刚刚意识到,它与 userInteractionEnabled = NO
有关,当删除文本颜色更改时,但我不希望用户交互,我如何才能关闭它并更改颜色?,而无需创建我自己的 UILabels
并将它们添加到 contentView
。
最佳答案
好吧,我知道如何解决这个问题,但它根本没有任何意义,问题是这一行:
cell.userInteractionEnabled = NO;
如果删除了 textColor
更改,奇怪的是,如果我在更改 textColor
后最后更改用户交互,则颜色会发生变化!
这是一个错误吗?我希望这个答案可以帮助任何试图解决这个问题的人,因为它根本没有任何意义,并且没有关于此的文档。
关于iphone - UITableViewCell textColor 不会因 userInteractionEnabled = NO 而改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7793491/
我是一名优秀的程序员,十分优秀!