Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何动态更改最后一个单元格的UITableViewCell大小_Iphone_Objective C_Xcode - Fatal编程技术网

Iphone 如何动态更改最后一个单元格的UITableViewCell大小

Iphone 如何动态更改最后一个单元格的UITableViewCell大小,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我有一个UITableView,里面有16-20个单元格,带有动态单元格大小。当一个单元格自我扩展时,它也应该移动到屏幕顶部。我是使用“UITableView setContentOffset”方法实现的。除了表中的最后一个单元格外,它工作得很好,无法移动到顶部 我试图改变UITableView的框架和内容大小,但这些都不适合我 有什么想法吗 [更新] 下面是代码的一部分:(它位于UITableViewCell内,因此self指向当前单元格) 在我的视图控制器中(如前所述),我从单元格本身获取单

我有一个UITableView,里面有16-20个单元格,带有动态单元格大小。当一个单元格自我扩展时,它也应该移动到屏幕顶部。我是使用“UITableView setContentOffset”方法实现的。除了表中的最后一个单元格外,它工作得很好,无法移动到顶部

我试图改变UITableView的框架和内容大小,但这些都不适合我

有什么想法吗

[更新] 下面是代码的一部分:(它位于UITableViewCell内,因此self指向当前单元格)

在我的视图控制器中(如前所述),我从单元格本身获取单元格大小

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [(BaseTableViewCell *)[cellContainer objectAtIndex:indexPath.row] cellSize];
}

您可以使用tableview委托方法更改单元格的高度
heightForRowAtIndexPath:
当indexPath.row等于最后一行时,返回您想要的高度

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.row == i)//i being whatever row index you want to change
    {
      return 60.0;//or float size you want
    }
    else
    {
     return 30.0;
    }
}

或者您可以只修改
willDisplayCell:
内单元格的边界。如果您使用自定义tableview单元格,只需将子视图缩小到您想要的任何帧,并使单元格背景清晰等。

您可以使用tableview委托方法更改单元格的高度。
heightforrow索引路径:
当indexath.row等于最后一行时,返回您想要的高度

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.row == i)//i being whatever row index you want to change
    {
      return 60.0;//or float size you want
    }
    else
    {
     return 30.0;
    }
}

或者您可以只修改
willDisplayCell:
内单元格的边界。如果您使用自定义tableview单元格,只需将子视图缩小到您想要的任何帧,并使单元格背景清晰等。

请向我们展示您的代码。这真的是在黑暗中拍摄,否则…请给我们看你的代码。这真的是在黑暗中拍摄,否则…我给了你一个如何做的例子!!为什么我的不对?我正在单元格中设置CellSize[自我设置CellSize:(扩展单元格高度)];然后我从heightforRow方法中读取它。它正确地调整了最后一个单元格的大小,但它无法将其移动到顶部!Dude有不同的tableView方法来处理这个问题..这个方法会为tableView中的每个单元格调用..你不能只为一个单元格返回它..看看tableView委托方法,有更好的选项来处理重新排序这是你应该使用的方法-(void)MoveRowatineXpath:(NSIndexPath*)indexPath toIndexPath:(NSIndexPath*)newIndexPathi为您提供了一个如何操作的示例!!为什么我的不对?我正在单元格中设置CellSize[自我设置CellSize:(扩展单元格高度)];然后我从heightforRow方法中读取它。它正确地调整了最后一个单元格的大小,但它无法将其移动到顶部!Dude有不同的tableView方法来处理这个问题..这个方法会为tableView中的每个单元格调用..你不能只为一个单元格返回它..看看tableView委托方法,有更好的选项来处理重新排序这是你应该使用的方法-(void)MoveRowatineXpath:(NSIndexPath*)indexPath到indexPath:(NSIndexPath*)newIndexPath