2014-02-13 512 views
1

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

任何人都有任何想法,为什么这可能会发生?

更新:

这只是与原生细胞原生的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; 
} 
+0

如果你可以张贴一些截图,你的代码和你在模拟器中看到的东西都会很好!你可能在某处丢失了某些东西! –

+0

我希望我可以,但我没有必要的声望,我使用一个新的帐户。只要我能够,我会张贴截图。无论如何,在ios6中只有一个黑色空间,完全消失:/ – 6rod9

+0

尝试使用一些日志语句来打印出1. tableview框架的大小,2. scrollview框架和3.滚动视图的内容大小。第二件事是苹果强烈阻止嵌套滚动视图。即:不要在滚动视图中放置tableview。如果可能,我建议你简单地使用自定义页眉和页脚视图制作一个tableview。 – mrosales

回答

0

后一些推荐的日志报表,我发现其中的问题:

在iOS6的了的UITableView的框架的高度变为0。在“viewDidLoad中”高度正确(94p),但在此之后,身高总是0.

但我真的不知道为什么会发生这种情况。在iOS7中,UITableView的高度永远不会改变。例如,我可以通过在“viewDidLayoutSubviews”中重新设置UITableView的框架高度来“修复”它。但是,如果任何人有一个干净的方式来解决这个问题,或知道这种行为的起源,它将不胜感激。

+0

在viewDidLoad中设置帧是不正确的。 viewWillLayoutSubviews是设置子视图框架的正确位置。 –

+0

@AaronBrager我在viewDidLayoutSubviews中设置框架。但奇怪的情况是,从一些日志,我已经注意到,在viewDidLoad tablview框架高度是正确的,但在此之后,它以某种方式重新设置为0.(而不是我) – 6rod9

+0

一些虚假的事情正在进行。我从来没有听说过必须重置表视图的大小。我猜你没有找到根本的问题。 –

1

请记住,在搭载iOS 7,默认情况下,细胞的背景是白色的。在6和更早的时候它是透明的。这意味着如果您的表格中黑色文本覆盖黑色背景,它将在6和更早版本中不可见。 (看到一些屏幕截图,将有助于)

+0

我希望我可以,但我没有必要的声望,我使用一个新的帐户。只要我能够,我会张贴截图。 Tableview由带有黑色文本的白色背景(本机单元格)组成。我已经添加了一些示例代码! – 6rod9

+0

@ 6rod9 - 那么在哪里/如何设置表格背景? (尝试'cell.textLabel.textColor = [UIColor whiteColor];',在哪里设置textLabel.text。看看是否使文本显示在6.) –

相关问题