当使用iOS 6 SDK并在iPhone 5.0模拟器中运行我的应用程序时,我的tableview显示为分组样式表视图。但是,当我在iPhone 6.0模拟器中运行时,它显示为UITableViewStylePlain表视图。
任何想法会导致这种奇怪的行为?除了tableview单元格中的textview之外,我在tableview中没有做任何过于疯狂的事情。
答案 0 :(得分:6)
我有一个分组的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和以前创建的界面构建器视图似乎存在很多问题。
如果你正在使用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,这可能是编码不好或导致内存泄漏,但看看你是否以这种方式获得分组样式会很有趣。
答案 1 :(得分:3)
此代码为我解决了ios6分组的tableview问题:
tableView.backgroundColor = [UIColor clearColor];
tableView.opaque = NO;
tableView.backgroundView = nil;