gpt4 book ai didi

ios - 从导航 Controller 内的 TableView Controller 中的按钮展开

转载 作者:行者123 更新时间:2023-11-29 04:02:58 25 4
gpt4 key购买 nike

我的 Storyboard中有以下 Controller :

Storyboard

导航 Controller 由左侧主视图 Controller 中的按钮分隔。它出现在弹出窗口中。当用户单击右侧 TableView Controller 顶部的“注销”按钮时,我需要返回主视图 Controller ,调用执行注销的方法,然后显示身份验证 View Controller (如果用户未登录,则无法使用该应用程序)。我尝试过的所有方法都失败了。

  1. 我几乎可以通过展开转场来做到这一点,但是如果在主视图中的展开方法中启动身份验证 View Controller ,我会收到“在演示或解散正在进行时尝试从 View Controller 解散”消息“警告。设置一个计时器来等待任意时间以完成解雇似乎是一种黑客行为。 (我希望有一个“你的segue刚刚完成”回调。)

  2. 我无法通过在prepareForSegue方法中将主视图 Controller 设置为设置 Controller 的委托(delegate)并在单击按钮时调用其委托(delegate)方法来做到这一点,这将是常态,因为Segue 中的destinationViewController 不是我的设置 Controller ,而是容纳它的导航 Controller 。

有一些明显的方法可以做到这一点,对吧?也许通过将按钮附加到设置 View Controller 中的方法来解除自身,然后在完成 block 中触发 NSNotification ?这看起来还是很老套。

最佳答案

您可以在prepareForSegue方法中使主视图 Controller 成为设置 Controller 的委托(delegate),方法是:

 SettingsViewcontroller *settings =  [(UINavigationController *)segue.destinationViewController topViewController];
settings.delegate = self;

我认为您可以在设置 Controller 的 viewDidDisappear 方法中调用委托(delegate)方法。

关于ios - 从导航 Controller 内的 TableView Controller 中的按钮展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com