dismissViewControllerAnimated仅在第二次点击TableView行后才能工作

约恩·布伊廷克(JörnBuitink)

在我的iOS应用中,我使用

...
[self presentViewController:vc animated:YES completion:nil];
...

现在,在我的表格视图中点击一行之后,我想关闭我的表格视图控制器:

#pragma mark UITableViewDelegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self dismissViewControllerAnimated:true completion:^(void) {
        NSLog(@"dismissed");
    }];
}

现在我的问题是:dismissViewControllerAnimated可以按预期工作,但是我必须点击该行2次。我第一次点击该行没有任何反应。

到目前为止的观察结果:

  • 我连续点击了一下:什么也没发生
  • 我连续点击两次:TableviewController关闭,“关闭”被记录
  • 我点击了一次,然后通过点击模态之外的某个位置来关闭Tableview:“ dismissed”被记录下来

似乎即使我只敲击一次,完成块也会被“安排”。但是,解雇并没有发生。

有谁知道是什么原因造成了这个问题?

约恩·布伊廷克(JörnBuitink)

感谢par和ShahiM,我找到了解决方案:我不得不在主线程上解雇。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self performSelectorOnMainThread:@selector(dismissAndshowPdf) withObject:nil waitUntilDone:NO];
}

- (void) dismissAndshowPdf {
    [self.presentingViewController dismissViewControllerAnimated:true completion:^(void) {
         NSLog(@"dismissed");
    }];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

$ anchorScroll和$ location仅在第二次尝试后才能工作

来自分类Dev

Fancybox仅在第二次单击后才能工作

来自分类Dev

$ anchorScroll和$ location仅在第二次尝试后才能工作

来自分类Dev

React,onClick仅在第二次单击,Axios,Async / Await之后才能工作

来自分类Dev

仅在第二次Asp.NET c#之后,OnClick按钮才能工作

来自分类Dev

React,onClick仅在第二次单击,Axios,Async / Await之后才能工作

来自分类Dev

仅在第二次Asp.NET c#之后,OnClick按钮才能工作

来自分类Dev

Boostrap-Popover仅在第二次点击后才被触发

来自分类Dev

Highcharter 图仅在第二次点击后更新 - R Shiny

来自分类Dev

按钮在第二次点击Android上工作

来自分类Dev

第二次点击后做什么?

来自分类Dev

jQuery 仅在第二次单击后提交工作

来自分类Dev

on('click'....)仅在第二次单击后触发

来自分类Dev

on('click'....)仅在第二次单击后触发

来自分类Dev

仅在第二次点击时触发Framelayout onclick中的ImageView

来自分类Dev

jQuery仅在第二次点击时有效

来自分类Dev

为什么功能仅在第二次点击时起作用?

来自分类Dev

用Gatsby响应钩子。onClick仅在第二次点击时更改setState

来自分类Dev

Android按钮仅在第二次点击时有效

来自分类Dev

Android EditText inputType =“ numberDecimal”仅在第二次点击时显示正确的键盘

来自分类Dev

切换显示仅在第二次点击时有效

来自分类Dev

加载viewcontroller,但是直到第二次点击tableview时才显示

来自分类Dev

谷歌地图的Java脚本无法正常工作的第二次点击

来自分类Dev

我怎样才能让这个手风琴中的元素在第二次点击后切换和隐藏内容?

来自分类Dev

UITableView didSelectRowAtIndexPath有时在第二次点击后被调用

来自分类Dev

第二次加载相同的FLA后出现不可点击的按钮

来自分类Dev

第二次点击后出现文本字段键盘(不定时)

来自分类Dev

我第二次点击后地图未加载

来自分类Dev

第二次点击后Android TextView打开日期选择器

Related 相关文章

  1. 1

    $ anchorScroll和$ location仅在第二次尝试后才能工作

  2. 2

    Fancybox仅在第二次单击后才能工作

  3. 3

    $ anchorScroll和$ location仅在第二次尝试后才能工作

  4. 4

    React,onClick仅在第二次单击,Axios,Async / Await之后才能工作

  5. 5

    仅在第二次Asp.NET c#之后,OnClick按钮才能工作

  6. 6

    React,onClick仅在第二次单击,Axios,Async / Await之后才能工作

  7. 7

    仅在第二次Asp.NET c#之后,OnClick按钮才能工作

  8. 8

    Boostrap-Popover仅在第二次点击后才被触发

  9. 9

    Highcharter 图仅在第二次点击后更新 - R Shiny

  10. 10

    按钮在第二次点击Android上工作

  11. 11

    第二次点击后做什么?

  12. 12

    jQuery 仅在第二次单击后提交工作

  13. 13

    on('click'....)仅在第二次单击后触发

  14. 14

    on('click'....)仅在第二次单击后触发

  15. 15

    仅在第二次点击时触发Framelayout onclick中的ImageView

  16. 16

    jQuery仅在第二次点击时有效

  17. 17

    为什么功能仅在第二次点击时起作用?

  18. 18

    用Gatsby响应钩子。onClick仅在第二次点击时更改setState

  19. 19

    Android按钮仅在第二次点击时有效

  20. 20

    Android EditText inputType =“ numberDecimal”仅在第二次点击时显示正确的键盘

  21. 21

    切换显示仅在第二次点击时有效

  22. 22

    加载viewcontroller,但是直到第二次点击tableview时才显示

  23. 23

    谷歌地图的Java脚本无法正常工作的第二次点击

  24. 24

    我怎样才能让这个手风琴中的元素在第二次点击后切换和隐藏内容?

  25. 25

    UITableView didSelectRowAtIndexPath有时在第二次点击后被调用

  26. 26

    第二次加载相同的FLA后出现不可点击的按钮

  27. 27

    第二次点击后出现文本字段键盘(不定时)

  28. 28

    我第二次点击后地图未加载

  29. 29

    第二次点击后Android TextView打开日期选择器

热门标签

归档