1

我有包含 tableview 和 detailview 的 splitviewcontroller。从 tablview 相关描述中选择的任何项目都将显示在 detailview 中。

当用户从 tableview 中选择任何单元格时,我会在 detailview 中加载适当的视图,并且还有另一个功能,每个 detailview 都有一个“NEXT”按钮,允许用户导航到下一个视图。这意味着当用户按下下一个按钮并且当前选择的单元格编号时。为 2,然后它将选择第 3 个单元格并加载第 3 个详细视图。我的问题是 iPad1 和 iPad2 中的一切工作都非常顺利。但是在 Retina 显示屏 iPad3 中,当我在第一个单元格中并按下“下一步”按钮时,我移动到了第二个单元格和相关的详细信息视图,当时我的第一个单元格文本标签变成了白色,如图所示。如果您正确地看到它,您还可以看到单元格“位置”的标题。

图片

以下是我在用户按下 NEXT 按钮时使用的代码。

NSIndexPath *ipath = [NSIndexPath indexPathForRow:MenuCustmerInfoRow inSection:MenuSection];

[rvc.tableView selectRowAtIndexPath:ipath
                 animated:NO
           scrollPosition:UITableViewScrollPositionNone];

这可能是什么原因?这仅发生在 iPad 3 中,并且仅发生在 tableview 的第一个单元格中,所有其他单元格都运行良好。
任何帮助将不胜感激!

谢谢尼尔
_

4

1 回答 1

0

我要提交一个 Apple 错误,但问题出在这里,文本标签的背景在取消选择时变为白色,所以这样做

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    //forced clear color due to textlabel turning white after deselect
    [cell.textLabel setBackgroundColor:[UIColor clearColor]];
}
于 2012-08-09T13:51:13.120 回答