UITableView在IOS7中可见,但在IOS6中不可见

UITableView在IOS7中可见,但在IOS6中不可见,ios,uitableview,ios6,uiscrollview,hidden,Ios,Uitableview,Ios6,Uiscrollview,Hidden,我有一个UIScrollView,里面有一个小的UITableView。在iOS-7中,一切都能正常工作,但在iOS-6中,表格视图根本不显示,完全不可见。 一切都被实例化,委托和数据源方法被调用,但是UITableView只是不出现。一片空白,没有别的 有人知道为什么会这样吗 更新: 这只是带有本机单元格的本机UITableView 下面是一些示例代码: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:

我有一个
UIScrollView
,里面有一个小的
UITableView
。在
iOS-7
中,一切都能正常工作,但在
iOS-6
中,表格视图根本不显示,完全不可见。 一切都被实例化,委托和数据源方法被调用,但是
UITableView
只是不出现。一片空白,没有别的

有人知道为什么会这样吗

更新:

这只是带有本机单元格的本机UITableView

下面是一些示例代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [_gridTableData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *gridCellId = @"gridCellID";

    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:gridCellId];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:gridCellId];
        [cell.textLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:12]];
        [[cell textLabel] setText:_gridTableNames[[indexPath row]]];
        [cell.detailTextLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:12]];
        [[cell detailTextLabel] setText:_gridTableData[[indexPath row]]];
    }

    return cell;
}

请记住,在iOS 7中,默认情况下,单元格的背景为白色。在6和更早的版本中,它是透明的。这意味着,如果表中的黑色文本覆盖了黑色背景,则在6或更早版本中它将不可见。(查看一些屏幕截图会有所帮助。)

在一些推荐的日志语句之后,我发现问题出在哪里:

在iOS6中,UITableView帧的高度变为0。在“viewDidLoad”期间,高度是正确的(94p),但在此之后,高度始终为0

但我真的不知道为什么会这样。在iOS7中,UITableView的高度永远不会改变


例如,我可以通过在“viewDidLayoutSubviews”中重新设置UITableView的帧高度来“修复”它。但是,如果有人有一个干净的方法来解决这个问题,或者知道这种行为的起源,我们将不胜感激

若你们能从你们的代码和你们在模拟器中看到的东西中发布一些截图,那个就太好了!你可能在什么地方遗漏了什么!我希望我可以,但我还没有必要的声誉,我正在使用一个新帐户。一旦我有能力,我会发布截图。无论如何,在ios6中只有一个空白,完全消失:/Try使用一些log语句打印出1的大小。tableview框架,2。滚动视图框架,以及3。滚动查看内容大小。第二件事是苹果强烈反对嵌套滚动视图。ie:不要将tableview放在滚动视图中。如果可能的话,我建议您使用自定义页眉和页脚视图创建一个简单的tableview。我尝试了一些日志语句!我注意到在IOS6中,在viewDidLoad方法之后,UiTableView的帧高度变为0。自动地在IOS7中,一切正常。怪异行为:/I我希望我可以,但我还没有必要的声誉,我正在使用一个新帐户。一旦我有能力,我会发布截图。Tableview由白色背景和黑色文本(本机单元格)组成。我添加了一些示例代码@6rod9-那么您在哪里/如何设置表格背景?(请在设置textLabel.text的位置附近尝试
cell.textLabel.textColor=[UIColor whiteColor];
,看看这是否会使文本显示在6上。)在viewDidLoad中设置帧是不正确的。viewWillLayoutSubviews是设置子视图框架的正确位置。@AaronBrager我正在viewDidLayoutSubviews中设置框架。但奇怪的情况是,从一些日志中,我注意到在viewDidLoad期间,tablview帧高度是正确的,但在这之后,不知何故,它被重新设置为0。(不是我说的)发生了一些虚假的事情。我从未听说过必须重置表视图的大小。我猜你还没有找到根本问题所在。