我有一个我在IB中创建的UITableView,并且在我的视图控制器中有一个插座tblHome。我希望如果用户没有运行iOS7,那么表格将是普通的(它被设置为IB中的分组)。
我知道一旦创建了样式就无法改变它,所以我必须改变它。如何用新的表替换现有的表?
以下无效
if([[[UIDevice currentDevice] systemVersion] floatValue] < 7)
{
tblHome = [[UITableView alloc] initWithFrame:CGRectMake(tblHome.frame.origin.x, tblHome.frame.origin.y, tblHome.frame.size.width, tblHome.frame.size.height) style:UITableViewStylePlain];
}
答案 0 :(得分:0)
这里还没有足够的信息。你在哪里检查和覆盖?
如果您不使用initWithNibName:
来初始化您的UIViewController,它将不会从IB中提取设置,您必须通过addSubview:
手动添加tableView
使用调试器逐步执行代码,并确保在子iOS 7设备上实际按预期执行该行。
答案 1 :(得分:0)
初始化tableview时设置表格样式。
以编程方式使用UITableView,如下所示
NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[vComp objectAtIndex:0] intValue] >= 7){
tblHome = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStyleGrouped];
}
else{
tblHome = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain];
}