gpt4 book ai didi

ios - 在类似 twitter 的客户端中重用 UITableViewCell(为每个自定义高度)

转载 作者:可可西里 更新时间:2023-11-01 05:47:05 27 4
gpt4 key购买 nike

我正在做一个像 twitter 客户端 iOS 版本这样的项目。在设计表格 View 时,每个单元格都会更改高度以适应其内容(推文)。

但是我遇到了一个问题:当前屏幕的单元格高度效果很好,但是向下滚动时,新单元格会重复使用旧单元格的高度。

最佳答案

是的,表编程是模型- View - Controller 方法真正有用的地方。如果您将单元格高度更改为 tableView:didDeselectRowAtIndexPath: 之类的地方,您可能会觉得它有效 - 但实际上无效。您可以在此方法中做的是修改您的数据并重新加载表(或其中的一部分)。

如上面的评论所述,您必须:

为每个单元格提供正确的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

中提供正确的 View (单元格)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

每当您想进行一些更改时,您应该修改 model 中的数据(或保存与内容相关的数据的适当对象),然后调用 UITableView 的重新加载之一方法,可能:

- (void)reloadData
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

Apple 的文档可能很少(尽管我认为它非常专业):这些将是您的基本链接:

UITableView Class Reference

UITableViewDataSource Protocol Reference

UITableViewDelegate Protocol Reference

Table View Programming Guide for iOS

关于ios - 在类似 twitter 的客户端中重用 UITableViewCell(为每个自定义高度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com