iPhone:iOS 6 和 5.1 之间 cellForRowAtIndexPath 行为的令人费解的差异
Posted
技术标签:
【中文标题】iPhone:iOS 6 和 5.1 之间 cellForRowAtIndexPath 行为的令人费解的差异【英文标题】:iPhone: Puzzling difference in cellForRowAtIndexPath behaviour between iOS 6 and 5.1 【发布时间】: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 这解决了,非常感谢。我想我愚蠢地遵循了一个糟糕的教程。如果您将评论放入答案中,我会接受。
【参考方案1】:
您的问题是由在 cellForRowAtIndexPath:
中的表格视图上调用 setEditing:animated:
引起的。您应该只在 viewDidLoad
中调用一次。
【讨论】:
以上是关于iPhone:iOS 6 和 5.1 之间 cellForRowAtIndexPath 行为的令人费解的差异的主要内容,如果未能解决你的问题,请参考以下文章
CLLocation 区域监控在 iOS 5.1 和 iOS 6 中的行为不同
如何在 xcode 4.6.2 中使用 iphone 模拟器 5.1
Xcode 5.1 无法使用 Ios 7.1.1 连接到我的 Iphone 5S
iPhone 6 Plus 和所有其他小屏幕之间的不同 UITableViewCell / UICollectionViewCell 指标