首页 > 解决方案 > 为什么 PresentViewControllerAsync 不阻塞?

问题描述

代码:

await vc.PresentViewControllerAsync(otherVC, true);
someMethod();

我希望这要等到提出的otherVC退出。这就是为什么非异步版本的最后一个参数丢失的原因,对吧?因为它应该是someMethod。但实际上,上面的代码只是显示otherVC并立即运行someMethod

如果它应该阻止 - 为什么还要有它?为什么不只有PresentViewController

标签: c#iosxamarinxamarin.ios

解决方案


基于文档(我不使用 Xamarin):

PresentViewControllerAsync将异步呈现一个视图控制器——意思是,它不会阻塞,并且下一行将在呈现otherVC执行。

PresentViewController有一个完成处理程序——意思是, otherVC 将被呈现然后完成块将运行。(注意,完成块将在 VC 的呈现完成后运行......不是在呈现的 VC 被关闭后)。


推荐阅读