UITableView 委托没有被调用

Rag*_*hav 0 objective-c uitableview ios

UITableView在菜单抽屉中使用 并在单击菜单按钮后更改 UITableView 的位置。

正在UITableViewDataSource工作,UITableViewDelegate没有工作。我从故事板和内部视图控制器设置了委托,但仍然didSelectRowAtIndexPath没有被调用。

-(void) showMenu{
isMenuShown = YES;
        [_drawerButton setImage:[UIImage imageNamed:@"v_drawer_menu"]];
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        self.view.frame = CGRectMake(220, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
        _tableView.frame = CGRectMake(0, self.view.frame.origin.y, 220, self.view.frame.size.height);
        self.menuView.frame = CGRectMake(0, self.view.frame.origin.y, 220, self.view.frame.size.height);
        _menuView.userInteractionEnabled = YES;
        _tableView.userInteractionEnabled = YES;
        _tableView.delegate = self;

        [UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

视图和表格视图我在切换时移动它们。 帮助表示赞赏。

问题已解决

我正在移动基础视图,因此所有交互都基于 220 的 x 位置,因此表视图交互不起作用,我更改了故事板中的视图层次结构并使用bringSubviewToFront视图方法使其工作。

谢谢 :)

小智 5

如果didSelectRowAtIndexPath没有得到,则可能是以下原因之一。

  1. 未设置委托。据我所知,这是为文件所有者正确设置的。
  2. 表视图单元格中可能有一个与单元格大小相同的 UI 控件。
  3. 可以UIView响应响应者链中的触摸。
  4. 或者可能是表视图allowsSelectionDuringEditingflase