如何在后面执行一些代码 segue 将会完成?

是否有可能 iOS 6 找出什么时候
UIStoryboardSegue

完成过渡? 例如,当我添加时
UIStoryboardSegue


UIButton

, 按另一个
UIViewController

在 navigationcontroler, 我想在推动过渡完成后立即做点什么。
已邀请:

快网

赞同来自:

您可以使用该协议
UINavigationControllerDelegate

, 然后确定:


– navigationController:didShowViewController:animated:

奔跑吧少年

赞同来自:

如果您不想使用该方法
viewDidAppear:

, 您可以创建自定义 segue. 在方法中
perform

您将使用动画去,它可能有一个结束块。 您可以在完成动画后在那里添加代码。

窦买办

赞同来自:

在 Swift 来自子类
UIViewController

你可以得到一个实例
UINavigationController

并安装委托以接收部分完成段的信息,如图所示。 轨道段的另一个逻辑位置可以是
AppDelegate

.

例如,执行控制器 /VC 短短/:


class MyViewControllerSubclass : UIViewController, UINavigationControllerDelegate {

func viewDidLoad// {
self.navigationController.delegate = self
}

func navigationController/navigationController: UINavigationController, didShowViewController viewController: UIViewController, animated: Bool/ {
println/"Did show VC: \/viewController/"/
}
}


但它只显示你的时候 segue 为了 VC 完全的
就像我一样。
viewWillAppear//

或者
viewDidAppear//

委托方法B. VC 提交; 但是,他们没有报告目标时 VC

不是

提出了。 仅当您的表示控制器是导航控制器堆栈的一部分时,它才能工作。

在被监控 VC 您可以添加以下内容以确定何时 VC /和他的记忆/ 释放,或覆盖方法
viewWillDisappear//

.


deinit {
println/__FUNCTION__, "\/self/"/
}

风见雨下

赞同来自:

您可以使用 - /空虚/prepareForSegue:/UIStoryboardSegue */segue 发件人:/ID/发件人

在执行之前将立即调用此方法。 segue 在来源中 UIViewController. 如果您想在目的地中制作某种代码 UIViewController, 你可以得到目标 viewcontroller segue.

您还可以添加此代码 viewdidAppear 在儿童剧院 - ViewController。

奔跑吧少年

赞同来自:

您可以调用目标方法 UIViewController 在方法中 prepareForSegue.


-/void/prepareForSegue:/UIStoryboardSegue */segue sender:/id/sender
{
NSLog/@"prepareForSegue: %@", segue.identifier/;

if /[segue.identifier isEqualToString:@"Happy"]/ {
[segue.destinationViewController setHappiness:100];
} else if /[segue.identifier isEqualToString:@"Sad"]/ {
[segue.destinationViewController setHappiness:0];
}
}


这里 setHappiness 该方法是目标控制器,在此处 100 通过那里。 因此,您可以在目标控制器中编写一种方法,并在此调用它

要回复问题请先登录注册