实现可折叠表视图时未调用 UITableView didSelectRowAtIndexPath

Posted

技术标签:

【中文标题】实现可折叠表视图时未调用 UITableView didSelectRowAtIndexPath【英文标题】:UITableView didSelectRowAtIndexPath not being called When implemneting Collapsable TableView 【发布时间】:2020-02-04 10:55:17 【问题描述】:

一切正常,但为什么didselect没有被调用

-(void)viewDidLoad


self.tableView.dataSource=self;

self.tableView.delegate=self;



-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    NSLog(@"did select row not called**strong text**");

【问题讨论】:

可能不相关,但您必须在viewDidLoad 中致电super 打电话但什么也没发生 我认为您希望根据单击单元格展开/折叠您的单元格。对吗? 是的,它的工作原理 解决问题的方法将其发布为答案并接受 【参考方案1】:

在 viewDidLoad 中添加这两行的原因是当使用手势 UIGestureRecognizer 然后 didSelectRowAtIndexPath 添加这些行后不起作用

self.tableView.allowsSelection = YES;

self.tableView.userInteractionEnabled = YES;

    -(void)viewDidLoad

    
    self.tableView.dataSource=self;

    self.tableView.delegate=self;

    self.tableView.allowsSelection = YES;

    self.tableView.userInteractionEnabled = YES;



-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    NSLog(@"did select row being called");

【讨论】:

以上是关于实现可折叠表视图时未调用 UITableView didSelectRowAtIndexPath的主要内容,如果未能解决你的问题,请参考以下文章

带部分的可折叠 UITableView

解除B视图时未调用UITableView函数

重新加载表数据时未调用 CellForRowAtIndexPath

iOS开发高级分享 - iOS的可折叠表视图

使用 UITableView 时未调用 switch 语句案例

iPhone UITableView 可展开/可折叠