cellForRowAtIndexPath方法中的单元格边界是错误的

时间:2015-05-18 10:10:26

标签: ios objective-c uitableview

当我在cellForRowAtIndexPath方法中将可重复使用的单元格出列时,我发现单元格边界总是(320,44)。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                                reuseIdentifier:kCellIdentifier_ActCalendarCell];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
    cell.textLabel.text = @"test";
    NSLog(@"%f,%f", cell.bounds.size.width, cell.bounds.size.height);
    return cell;
}

这是设计的吗?何时何地可以获得细胞的真实界限?

1 个答案:

答案 0 :(得分:0)

NSIndexpath  *indexPath=self.tableView indexPathForSelectedRow
CustomCell *cell = (CustomCell*)[self cellForRowAtIndexPath:indexPath];
CGRect cellFrameInTableView = cell.frame;

//使用此方法获取实际坐标

CGRect cellFrameInWindow = [self convertRect:cellFrameInTableView toView:[UIApplication sharedApplication].keyWindow];