我正试图在iPad上的popover中显示一个选项表。我正在将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];
答案 0 :(得分:0)
一般来说,设置UITableViewCell的backgroundColor的地方不是tableView:cellForRowAtIndexPath:。你必须在+ tableView中执行:willDisplayCell:forRowAtIndexPath:+。
您不需要更改contentView的backgroundColor。