OStack程序员社区-中国程序员成长平台

标题: objective-c - UITableView 中心单元格详细信息 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:45
标题: objective-c - UITableView 中心单元格详细信息

我正在尝试将 UITableViewUILabel 同步,以确保它们显示相同的数据;当然,最终情况会有所不同,但为了测试,这是我需要做的。

enter image description here

看到箭头了吗?我希望那个中间单元格(来自 px44-88)在 UILabel 中显示 cell.textLabel.text 当它是“中间单元格”时。

我尝试使用 - (void)tableViewUITableView *)tableView willDisplayCellUITableViewCell *)cell forRowAtIndexPathNSIndexPath *)indexPath 但我遇到了很多问题,我想我会来这里询问是否有人有更好的方法来做到这一点。我不确定它是否会有所作为,但我正在使用 NSFetchedResultsController 来填充我的 UITableView



Best Answer-推荐答案


UITableView 是 UIScrollView 的子类,所以可能你可以使用 UIScrollViewDelegate

- (void)scrollViewDidScrollUIScrollView *)scrollView

成员来检测当前哪个单元格在中间。

即假设您有一个没有部分的普通表格,并且 tableView 是表格的导出,标签是标签的导出,这将在您的 Controller 中起作用:

    - (void)scrollViewDidScrollUIScrollView *)scrollView {
        int row = (scrollView.contentOffset.y + tableView.frame.size.height / 2) / 44;

        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];

        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        label.text = cell.textLabel.text;
}

当然,你需要做一些滚动才能让它工作;)

您可以使用 visibleCells 方法获取非普通表格的可见单元格布局,并使用它来检测表格中间的单元格。

关于objective-c - UITableView 中心单元格详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557596/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4