ChildViewController中提供了UIAlertViewController

问题描述 投票:-1回答:1

为了减少主视图控制器中的代码,我将大多数功能重构为两个子视图控制器。

[在子视图控制器之一中,用户可以点击触发ActionSheet的按钮。我第一次尝试完成此操作是[]

  1. [两个子视图控制器连接到情节提要中的父视图控制器
  2. 在子视图控制器1中创建委托属性。
  3. 在父视图控制器的prepareForSegue中,检查segue.identifier是否与子视图控制器匹配,然后将父视图控制器分配为子视图控制器的委托
  4. 使父视图控制器符合协议,该协议具有接受视图控制器作为参数的方法
  5. 当用户点击子视图控制器1中的按钮时,将调用将子视图控制器1中的委托函数传递给代理函数并在父视图控制器中引发动作表的委托函数
  6. 一旦用户执行操作,子视图控制器的属性就会更新
  7. 当我尝试运行时,出现以下错误:Warning: Attempt to present <UIAlertController: 0x7f9bb6029200> on <BudgetSmart.TransactionListViewController: 0x7f9bb5d298b0> while a presentation is in progress!

我试图1.关闭视图控制器,2.从子视图控制器调用操作表,但错误仍然存​​在。演示文稿中的视图控制器是指子视图控制器吗?如果是这样,应该怎么解决呢?谢谢!

为了减少主视图控制器中的代码,我将大多数功能重构为两个子视图控制器。在子视图控制器中的一个中,用户可以点击触发了...

ios swift uiviewcontroller parent-child
1个回答
0
投票

您的子视图控制器如何显示?它是由父母通过调用presentViewController呈现的吗?如果是这样,那么当您由父母提出行动表时,您将看到该错误消息,因为父母已经提出了孩子。您需要全屏显示子视图控制器,并显示子视图的操作表。

© www.soinside.com 2019 - 2024. All rights reserved.