0

我正在尝试在 iPad 上的弹出窗口中显示选择表。我正在将 UITextField 添加到默认的 UITableViewCell。该表配置为分段表。

它没有正确绘制并且不显示。如果选择了该行,则 UITextField 变为可见。如果单击另一行,它将消失。

我玩过子视图订单无济于事。有效的是设置 UITableViewCell.backgroundColor = [UIColor clearColor]。

如果我这样做,我认为需要在其他地方设置颜色,例如内容视图 UITableViewCell.contentView.backgroundColor = [UIColor whiteColor];

但是,它仍然无法正确显示。未选中或未选中时看起来很好。但是,如果我以编程方式设置附件复选标记,则附件复选标记的一半背景会以表格背景的较暗颜色清晰显示。

如果选择了该行,它看起来没问题,但如果选择了另一行,因为带有 UITextField 的行被取消选择,在几分之一秒内,您会看到一半的附件背景清晰(透明)。

关于可能出现什么问题或如何解决此问题的任何想法或建议?Apple 文档明确指出,将视图添加到 ContentView 是实现它的适当方法,但在这种情况下它似乎不起作用。

这是我目前在 tableView:cellForRowAtIndexPath 中的代码:

UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(130, 10, 60, 26)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.text = @"foo";
[cell.contentView addSubview:textField];
[textField release];

cell.contentView.backgroundColor = [UIColor whiteColor];
cell.backgroundColor = [UIColor clearColor];
4

1 回答 1

0

一般来说,设置 UITableViewCell 的 backgroundColor 的地方不是 tableView:cellForRowAtIndexPath:。您必须在 +tableView:willDisplayCell:forRowAtIndexPath:+ 中执行此操作。

您不需要更改 contentView 的背景颜色。

于 2011-01-06T02:25:27.820 回答