在我的iOS应用后才能正常运行,我提出一个UITableViewController使用dismissViewControllerAnimated攻的TableView行第二次
...
[self presentViewController:vc animated:YES completion:nil];
...
现在,经过我在tableview中轻按一排,我想解雇我tableviewcontroller:
#pragma mark UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self dismissViewControllerAnimated:true completion:^(void) {
NSLog(@"dismissed");
}];
}
现在我的问题: dismissViewControllerAnimated按预期工作,但我必须点击该行2次。我第一次点击这一行没有任何反应。
观察至今:
- 我点击一排一次:什么也没有发生
- 我挖掘连续2次:TableviewController驳回,“开除”被记录
- 我点击一排一次并通过点击模式外的某个地方点击桌面视图:“解雇”获取日志记录
即使我只点击一次,似乎完成块也会“计划”。但解雇不会发生。
有谁知道是什么原因导致此问题?
听起来像didSelectRowAtIndexPath:是不是所有在第一次按下被调用?在行内是否有按钮或文本输入字段会拦截触摸事件? – par
@par didSelectRowAtIndexPath:正在调用。我已经在那里放置了一个断点并对其进行了测试。 –
是tableViewDelegate *呈现*视图控制器还是它的UITableViewController?你需要从呈现视图控制器调用dismissViewController所以尝试可能[self.presentingViewController dismissViewControllerAnimated ...] – par