3

语境

  • 为 iOS 7 构建
  • 视图控制器上的两个 UITableView
  • 使用约束来调整表格视图的大小,就像我想要的那样在 3.5 英寸和 4 英寸的屏幕尺寸之间。

在此处输入图像描述

我试过的

  • 阅读 UITableView 文档
  • 搜索堆栈溢出
  • 试过这段代码:[self.bottomTableView scrollToRowAtIndexPath:0 atScrollPosition:UITableViewScrollPositionTop animated:NO];

结果

  • 底部 tableView 中的内容加载到 tableview 的中间。我可以将这些单元格向上滚动到表格视图的顶部,但它们会“快速”回到中间。我该如何避免这种情况?

更新

这就是表格视图在加载时的样子。绿色背景显示了底部表格视图上半部分留下的所有空白。

在此处输入图像描述

这是代码:

#pragma mark - Table View Methods

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    if (tableView == self.topTableView) {
        return [self.array count];
    }
    else{
        return [self.array count];
    }
}

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    if (tableView == self.topTableView) {
        cell.textLabel.text = @"60";

        return cell;
    }
    else{
        cell.textLabel.text = @"60";

        return cell;
    }

}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}
4

1 回答 1

2

您的代码一切正常。除非我错过了 WWDC 文档中的某些内容,否则这似乎是 Xcode 和 iOS 7 的一个错误。

他将导航栏的高度应用于子视图数组中的第一个元素。元素是否真的在栏下并不重要,他只是盲目地应用它。您可以更改情节提要中的顺序,假设您将底部 tableview 移动到顶部,然后底部视图有问题。

我看到两个选项。如果你禁用 ViewController 上的“Under Top Bars”,一切都很好。或者你将 UILabel 移到顶部。没有什么他可以用静态标签调整的。也许与 Maverics GM 一起发布的 Xcode 5.0.1 会解决这个问题。还在下载那个。DL 完成后将尝试。

在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

于 2013-10-04T05:47:49.000 回答