根据用户输入,我需要从 TableView 的单元格之一中删除公开 V 形。在 Controller 的 viewDidAppear
方法中,我有以下代码:
NSIndexPath *section0Row10 = [NSIndexPath indexPathForRow:10 inSection:0];
[[self.tableView cellForRowAtIndexPath:section0Row10] setAccessoryType:UITableViewCellAccessoryNone];
什么也没发生。我很高兴知道我做错了什么。
更新:
这些是单个部分中静态、分组的单元格。我使用 Storyboard构建了 TableView ,并通过从 TableView 控制拖动到 View 的头文件中,将需要以编程方式更改的每个字段(通常是 UILabel
s)设置为命名导出 Controller 。
例如,我有:
@property (weak, nonatomic) IBOutlet UILabel *symbolLabel;
在我的 View Controller 的 .h 文件中。在 .m 文件中,我在 viewDidAppear
方法中包含以下行:
self.symbolLabel.text = self.dataSource.symbol;
这样,我根本不需要实现cellForRowAtIndexPath:
。这是错误的做事方式吗?
另外:当表格 View 出现时,我想要删除其 V 形的单元格会落在屏幕底部下方。
感谢您的帮助和耐心。
最佳答案
当您的单元格未显示在屏幕上时,cellForRowAtIndexPath
返回nil
。这是合乎逻辑的:单元格被重用以节省内存,因此不必显示的单元格只需重新排队,以便它们属于当前可见的索引路径。
要解决此问题,不要从外部显式设置单元格的显示样式,而是在
tableView:cellForRowAtIndexPath:
方法。您可以在 e 中存储附件类型的数值或所基于的条件。 G。在 NSArray 中。
关于ios - 如何从 UITableViewCell (iOS5) 中删除披露 V 形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11378776/