UITableView在第一次加载时不响应滚动

时间:2009-09-19 19:07:48

标签: iphone iphone-sdk-3.0

我发现第一次加载UITableView时,它不响应滚动触摸 - 如果它没有比屏幕上更多的行。如果我关闭视图,然后重新打开同一个对象 - 它现在将响应触摸 - 即使它包含相同数量的行。

除了响应行数的UITableViewDataSource方法以及自己生成行之外,我没有做任何事情。每次视图出现时我都在重新加载表格。

任何人都可以解释这种行为吗?


我正在创建像这样的单元格:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  static NSString *tableId = @"NewIndexTableId";
  Note *note = [notes objectAtIndex:[indexPath row]];

  UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:tableId];

  if (cell == nil)
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:tableId] autorelease];

  cell.textLabel.text = note.text;
  cell.detailTextLabel.text = [note changedDelta]; 
  cell.accessoryView = multipleAccounts ? [note.account imageView] : nil;

  return cell;  
}

3 个答案:

答案 0 :(得分:17)

我有同样的问题。 Bounce Scroll已在IB中启用,但仍然没有爱。 我不得不在代码中设置它(在viewDidLoad中),就像这样......

self.myTableView.bounces = YES;

希望这会有所帮助; - )

答案 1 :(得分:0)

你的xib文件是什么样的?你有除UITableView以外的任何观点吗?

在我学习iPhone编程的早期,我在xib文件中最终得到了两个UITableViews - 表格显示正确,但显示出微妙的问题。

答案 2 :(得分:-1)

我通过确保表中始终至少有10行来解决这个问题 - 当实际行少于10行时创建虚拟行。这解决了故障。