首页 文章

可以在不重新加载表视图的情况下更改UITableViewCell的高度吗?

提问于
浏览
11

我正在尝试调整UITableViewCell的大小而不重新加载表视图 .

我的UITableViewCell包含一个UITextView,因此用户可以输入可能是多行(最多约四个)的列表项 . 现在,我想改变表格视图单元格的高度 .

我遇到的主要问题是重新加载表视图的数据会使文本视图失去焦点 . 有没有办法在不重新加载表视图的情况下更改UITableViewCell的高度,让用户继续在文本视图中输入文本?

1 回答

  • 48

    要调整表视图行的大小,请尝试发送:

    [tableView beginUpdates];
    [tableView endUpdates];
    

    如果您在 tableView:heightForRowAtIndexPath: 方法中为该单元格返回了正确的高度,则这些消息将紧接着另一个应该执行 . 该行应该是动画 . 您应该能够使用其边界返回单元格的高度,或者仅仅知道您将单元格高度设置为 .

    显然,“tableView”是表视图的名称 .

相关问题