OGeek|极客世界-中国程序员成长平台

标题: ios - UITableView didSelect 委托(delegate)没有被调用? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 16:54
标题: ios - UITableView didSelect 委托(delegate)没有被调用?

在我的应用程序中,我在 ScrollView 上添加了 UITableView。我在表格 View 中禁用滚动。 所以,只有scrollView Scrolls,我用tableView Frame 调整了scroll view content Size。所以,我可以访问所有单元格。

考虑一下,屏幕上有 5 行可见,如果我点击其中任何一行,就会调用 didSelectRowAtIndexPath 方法。如果我向下滚动,请说第 6 个单元格并点击它。该方法不会被调用。

UIcollectionView 也会出现同样的问题。

我添加的原因是。当我滚动 ScrollView 时,其中的 View 应该固定在顶部,并且它后面的 tableView 应该继续滚动。您可能已经在 Android 中的许多应用程序中看到过。因此,我使用了 ScrollView didScroll 委托(delegate)来获取偏移位置。根据它,我将固定 View ,反之亦然。



Best Answer-推荐答案


使UITableView的高度与表格的内容高度一致。 然后设置UIScrollView的内容大小为UITableView

的高度

这里有一个简单的例子来演示

CGRect rect = tblTopics.frame;
rect.size.height = tblTopics.contentSize.height;
tblTopics.frame = rect;

self.scrlVwFacultyDtl.contentSize = CGSizeMake(self.scrlVwFacultyDtl.frame.size.width, tblTopics.frame.size.height);

在上面的例子中,tblTopics 是 UITableView 的实例,而 scrlVwFacultyDtl 是 UIScrollView

的实例

希望对你有所帮助..

关于ios - UITableView didSelect 委托(delegate)没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38222263/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4