当使用 iOS 6 SDK 并在 iPhone 5.0 模拟器中运行我的应用程序时,我的 tableview 看起来就像一个分组样式的 tableview。但是,当我在 iPhone 6.0 模拟器中运行时,它显示为 UITableViewStylePlain 表视图。
有什么想法会导致这种奇怪的行为吗?除了 tableview 单元格内的 textview 之外,我在 tableview 中没有做任何太疯狂的事情。
当使用 iOS 6 SDK 并在 iPhone 5.0 模拟器中运行我的应用程序时,我的 tableview 看起来就像一个分组样式的 tableview。但是,当我在 iPhone 6.0 模拟器中运行时,它显示为 UITableViewStylePlain 表视图。
有什么想法会导致这种奇怪的行为吗?除了 tableview 单元格内的 textview 之外,我在 tableview 中没有做任何太疯狂的事情。
我有一个使用以下代码在 iOS6 中正常工作的分组表视图:
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,self.bounds.size.width,self.bounds.size.height) style:UITableViewStyleGrouped];
[tableView setDataSource:self];
[tableView setDelegate:self];
您是使用界面生成器来创建这个分组的表格视图还是以编程方式创建它?iOS6 和之前创建的 interfacebuilder 视图似乎存在很多问题。
如果您使用 IB 来创建东西,您可以尝试在代码中重新创建 tableview(我知道冗余且无用,但它可能会显示问题所在)。
在您的 viewDidLoad() 函数中的某处放置
if(tableView)
{
[tableView removeFromSuperview];
}
tableView = [[UITableView alloc] initWithFrame:tableView.frame style:UITableViewStyleGrouped];
[tableView setDataSource:self];
[tableView setDelegate:self];
[self addSubview:tableView];
如果不使用 arc,这可能是糟糕的编码或导致内存泄漏,但看看你是否以这种方式获得分组样式会很有趣。
这段代码为我解决了 ios6 分组表视图问题:
tableView.backgroundColor = [UIColor clearColor];
tableView.opaque = NO;
tableView.backgroundView = nil;