3

我在 iOS 7 上遇到了自定义单元格绘图的问题(在 iOS 6 和 5 上工作正常)。

在 heightForRowAtIndexPath 上,我返回的高度小于每个部分最后一行的单元格实际高度,因为我需要最后一个单元格与下一部分的标题重叠。

似乎 Apple 在 iOS 7 上进行了绘图改进或其他操作,因为只有从 heightForRowAtIndexPath 返回的高度正在绘制,所以我的单元格将在底部被切割。

任何想法将不胜感激。

4

2 回答 2

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"]];
}

并全部更换。希望对你也有帮助。

于 2013-10-31T15:35:29.700 回答
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];
}
于 2013-10-03T21:46:11.813 回答