UITableView didSelect委托不会被调用?

时间:2016-07-06 10:52:46

标签: ios objective-c uitableview uiscrollview didselectrowatindexpath

在我的应用程序中,我在ScrollView上添加了一个UITableView。我在表格视图中滚动已禁用。 因此,只有scrollView Scrolls,我已经使用tableView Frame调整了滚动视图内容的大小。所以,我可以访问所有细胞。

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

UIcollectionView会出现同样的问题。

我添加的原因是。当我滚动滚动视图时,其中的视图应该固定在顶部,并且后面的tableView应该继续滚动。您可能已在Android中的许多应用中看到过。所以,我使用ScrollView didScroll委托来获取偏移位置。按照它,我将使视图固定,反之亦然。

1 个答案:

答案 0 :(得分:0)

使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的实例

希望它会帮助你..