【问题标题】:iPhone: Puzzling difference in cellForRowAtIndexPath behaviour between iOS 6 and 5.1iPhone:iOS 6 和 5.1 之间 cellForRowAtIndexPath 行为的令人费解的差异
【发布时间】:2012-11-13 19:56:44
【问题描述】:

我希望 UITableView 中的所有单元格始终显示删除附件和披露指示符:

(原因是我没有/不想要编辑按钮)

这在 5.1 中使用此代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath   *)indexPath
{
  //the usual code
      [self.tableView setEditing:YES animated:YES];
      cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator;

      return cell;
}

这不会在 iOS 6.0 中产生相同的行为。当我添加一行时,它没有删除附件。有趣的是,如果我然后选择单元格(运行 didSelectRowAtIndexPath),我可以在我的详细信息视图中按取消,然后删除附件才会出现在我的表格单元格中。

谁能解释这种差异?我在 Apple 的文档中找不到任何关于此的内容(如果您能指出一些事情,我将不胜感激)。也许我不应该把代码放在这个方法中?谢谢。

【问题讨论】:

  • 为什么要将cellForRowAtIndexPath: 中的表格置于编辑模式?您应该在viewDidLoad 中执行一次。
  • @rmaddy 这解决了,非常感谢。我想我愚蠢地遵循了一个糟糕的教程。如果您将评论放入答案中,我会接受。

标签: ios uitableview ios6 ios5.1 cell-formatting


【解决方案1】:

您的问题是由在 cellForRowAtIndexPath: 中的表格视图上调用 setEditing:animated: 引起的。您应该只在 viewDidLoad 中调用一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多