我在iOS 7上遇到了自定义单元格绘图的问题(在iOS 6和5上工作正常)。
在heightForRowAtIndexPath上,我返回的高度小于每个部分最后一行的单元格的实际高度,因为我需要最后一个单元格与下一部分的标题重叠。
Apple似乎在iOS 7上进行了绘图改进,因为只有从heightForRowAtIndexPath返回的高度正在绘制,因此我的单元格将在底部被剪切。
任何想法都将受到赞赏。
答案 0 :(得分:0)
这是我要做的......
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == [_array_todo count]) {
// last row
return 50;
}else{
// not the last row
return 80;
}
}
还要考虑选择单元格时你在做什么......
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
sel_path = indexPath;
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
答案 1 :(得分:0)
我有同样的问题和情况(点击较低高度的最后一个单元格来添加更多数据)。我没有研究为什么会这样,但有些东西对我有用。我使用NSDictionary的表格数据。它适用于iOS6.1及更早版本。在iOS7中,它导致了与您相同的错误。在viewDidLoad中将数据分配到单独的NSMutableArray中解决了它。所以不要在tableview委托方法中随处使用
[self.data objectForKey:@"offers"]
我做了
- (void)viewDidLoad {
[super viewDidLoad];
if (!tableData) tableData = [[NSMutableArray alloc] initWithArray:[self.data objectForKey:@"offers"]];
}
并取而代之。希望对你也有帮助。