Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从自定义转换引用presentingViewController_Ios_Objective C_Uiviewcontroller_Ios7_Uistoryboardsegue - Fatal编程技术网

Ios 从自定义转换引用presentingViewController

Ios 从自定义转换引用presentingViewController,ios,objective-c,uiviewcontroller,ios7,uistoryboardsegue,Ios,Objective C,Uiviewcontroller,Ios7,Uistoryboardsegue,我已经设置了一个自定义的转换,这是设置 我现在要做的是更新(以下)UIViewController上的BOOL。这是在顶部显示控制器的控制器 如何获取指向以下控制器的访问权限/指针?我尝试了self.presentingViewController,但这指向了一个UINavigationController 自定义转换信息 底部的控制器是UIViewControllerTransitioningDelegate。控制器由一个序列链接。以下内容在prepareForSegue中: self.ani

我已经设置了一个自定义的转换,这是设置

我现在要做的是更新(以下)
UIViewController
上的BOOL。这是在顶部显示控制器的控制器

如何获取指向以下控制器的访问权限/指针?我尝试了self.presentingViewController,但这指向了一个
UINavigationController

自定义转换信息
底部的控制器是
UIViewControllerTransitioningDelegate
。控制器由一个序列链接。以下内容在
prepareForSegue
中:

self.animationController = [[MESGuessGameTurnZoomAnimation alloc] init];
UIViewController *destVC = segue.destinationViewController;    
destVC.transitioningDelegate = self;
显示目标视图控制器时,用户可以单击“上一步”,只需运行以下操作(目前)即可返回到原始视图控制器:

[self dismissViewControllerAnimated:YES completion:nil];

听起来好像您正试图将数据从PresentDVC传回PresentGVC。如果是这种情况,无论您是否使用新的iOS 7自定义动画过渡,方法都是相同的

您有两个选项,如果使用标准转换或自定义转换,同样相同

  • 单击“上一步”时使用代理模式。通过这种方式,PresentAgvc调用Dislose并可以访问PresentDVC及其任何属性

  • 使用一个放松段。这可以完成同样的事情,但要使用故事板。


  • 您可以使用
    TransitionContext
    访问
    prepareForSegue:
    和animationController的
    animateTransition:
    方法中的两个视图控制器,但我认为您只是在谈论传输回数据,可以使用上述方法之一来完成。

    谢谢,您只能为推送序列创建一个展开序列吗?我的是一个带有自定义转换的模型,但是在故事板中拖动一个按钮到出口不会做任何事情。你必须首先在你的VC中创建“展开”方法。然后,当您拖动以退出时,它将显示。签名是
    -(iAction)unwindToViewController:(UIStoryboardSegue*)发送方
    。通常情况下,展开序列会为您执行解除,但对于自定义转换,则不会,因此您需要在展开方法中调用解除。我在WWDC会话218的示例代码中做到了这一点。单击“选项”,这是一个带有展开段的模型自定义转换。放松顺序方法在SOLViewController.m@Jesse的末尾,谢谢你。当你说“正常情况下,一个放松的赛格会为你解除束缚,但对于自定义的过渡,它不会”。。。我发现我不必调用
    self dismissViewController…
    只要让放松序列完成所需的移动即可。事实上,通过包含
    dismissViewController
    方法,我得到了一个关于在另一个正在制作动画时解除的警告?如果您不必这样做,那么您已经准备好了。我发现,当我有一个模式解雇和自定义动画过渡解雇我需要手动调用dismissViewController在放松行动开始解雇过渡。谢谢杰西-我会接受答案。我还有一个悬而未决的问题——我相信这与转换委托不为零和控制器不被释放有关,如果你也知道的话。谢谢