Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Xcode 需要使用故事板确定哪个按钮导致模式跳转_Xcode_Storyboard_Modal Dialog - Fatal编程技术网

Xcode 需要使用故事板确定哪个按钮导致模式跳转

Xcode 需要使用故事板确定哪个按钮导致模式跳转,xcode,storyboard,modal-dialog,Xcode,Storyboard,Modal Dialog,有人知道我是否可以识别哪个按钮使用故事板将我发送到视图控制器,其中一个按钮对视图控制器进行模式调用 我想跳转到多个按钮和视图控制器,但我想使用一个视图控制器代码库来处理所有模式跳转。我想要一个viewcontroller.m文件来了解按下了哪个按钮,并根据该按钮采取行动。对整个“segue”操作的工作方式似乎没有一个清晰的描述;一切都是零碎的 我尝试使用performsguewithidentifier方法,让我的按钮连接到iAction。这看起来很愚蠢,因为我不需要使用modals定义iBac

有人知道我是否可以识别哪个按钮使用故事板将我发送到视图控制器,其中一个按钮对视图控制器进行模式调用

我想跳转到多个按钮和视图控制器,但我想使用一个视图控制器代码库来处理所有模式跳转。我想要一个viewcontroller.m文件来了解按下了哪个按钮,并根据该按钮采取行动。对整个“segue”操作的工作方式似乎没有一个清晰的描述;一切都是零碎的

我尝试使用
performsguewithidentifier
方法,让我的按钮连接到iAction。这看起来很愚蠢,因为我不需要使用modals定义iBaction。我也走了
prepareForSegue
的路线,但它需要一个导航控制器(我认为我不需要)

我想强迫人们做研究是很好的,但我有16个小时的时间来做这项研究,我遵循了所有的链接,但都无济于事,包括插入一个nag控制器,它吹走了我工作过的一系列功能段

有没有一种简单的方法可以在按下按钮之前将变量从一个VC传递到另一个VC?可能需要像这样的脏东西,但如果能够在模式按钮中引用所需的segue,并将该信息传递给新UIViewController的“view Dod load”,那就太好了。

方法prepareForSegue:是您需要的,如果您使用模式样式的segue,则不需要导航控制器。从中,它所做的是:

通知视图控制器即将执行分段

确保您已在故事板中设置了segue标识符,例如,在下面的屏幕截图中,我将其设置为PushModalViewController:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"PushModalViewController"]) {
        TargetViewController *targetViewController = (TargetViewController *)segue.destinationViewController;
        //set the property of the target view controller here
    }
}

然后在原始视图控制器中,使用prepareForSegue方法设置目标视图控制器的属性:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"PushModalViewController"]) {
        TargetViewController *targetViewController = (TargetViewController *)segue.destinationViewController;
        //set the property of the target view controller here
    }
}

感谢您提供的信息,我决定在源代码中包含目标视图控制器,然后我可以在“PrepareForSegue”期间更新目标上的标签。这允许目标选择我们想要显示的正确文件。