【发布时间】:2015-08-07 15:41:54
【问题描述】:
我有一个动态单元格,它在收到我们服务器的响应后被添加。根据该响应,它将对单元格进行稍微不同的配置。当使用一个特定的响应配置它时,标题标签的框架在添加后似乎会重置。
我在我的代码中设置了断点,并将其范围缩小到在调用tableView:heightForRowAtIndexPath: 之后的某个时间进行更改。在这种方法之前一直很好。我不确定heightForRowAtIndexPath: 之后还叫什么,所以我不确定在哪里设置断点进行调查。
如有必要,我可以发布一些代码,但不确定现在要发布哪些代码来提供帮助。
更多信息:
- 任何数据源方法均未触及帧
- 框架的高度是问题所在,在调用
heightForRowAtIndexPath:后,它会从 17 变为 8。 - 这只发生在运行 iOS 7.1 的 iPhone 4s、iPhone 5 和 iPhone 5s 上,这让我相信这是一个 32 位处理器问题,以及 7.1 中的一些代码可能假设是 32 位处理器? 5s 不确定。
任何关于在哪里寻找的指导将不胜感激。如果你们需要任何代码,我可以发布一些代码,只是不确定现在哪些代码可以帮助你们调试,因为我什至不完全确定在 heightForRowAtIndexPath: 之后调用了哪些方法会弄乱我的框架起来。
提前致谢!
快速编辑:使用 begin/endUpdates 块添加行。这是唯一添加的行。我已经在下面发布了该代码:
if ([self.tableView numberOfRowsInSection:AccountHomeTableSectionBody] == [self numberOfCellsWithPossibleDynamicPlacementCells] - 1) {
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:rowPosition inSection:AccountHomeTableSectionBody]] withRowAnimation:UITableViewRowAnimationTop];
[self.tableView endUpdates];
}
【问题讨论】:
标签: ios objective-c iphone uitableview