在现有视图之上,我想:a)向用户显示一个屏幕 b)然后发送 SMS c)向用户显示另一个屏幕。
对于 a) 我正在这样做:
[[UIApplication sharedApplication].delegate.window.rootViewController presentViewController: firstController animated: NO completion:nil];
对于 b) 我正在做同样的事情,除了这当然是呈现一个不同的 vc,一个 MFMessageComposeViewController。
但是,为了使 b) 出现,我首先必须使用以下方法关闭第一个视图控制器:
[[UIApplication sharedApplication].delegate.window.rootViewController dismissViewControllerAnimated:NO completion: nil];
到目前为止,我可以看到第一个视图出现,然后看到 SMS 撰写视图出现。发送短信时,我这样做是为了关闭短信撰写视图
[[UIApplication sharedApplication].delegate.window.rootViewController dismissViewControllerAnimated:NO completion: nil];
但是,当我尝试使用 presentViewController 向用户展示另一个屏幕时,什么也没有发生。我看不出这应该是什么原因,有什么我不知道的吗?
实际上 SMS 视图之前和之后的屏幕是相同的,只是它们有不同的文本,所以最简单的步骤顺序是:
a) 显示带有文本“abc”的视图控制器 b) 显示 SMS 控制器 c) 发送 SMS 时关闭 SMS 控制器 d) 使用 IBOutlet 更新第一个视图控制器中的文本 e) 关闭第一个视图控制器。
但是如前所述,如果我不关闭第一个视图控制器,SMS 控制器将不会出现。所以我的主要问题是如何在第一个视图控制器之上呈现 SMS 控制器?