首页 文章

UITableView didSelect委托不会被调用?

提问于
浏览
2

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

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

UIcollectionView也会出现同样的问题 .

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

1 回答

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

    希望它会帮助你..

相关问题