gpt4 book ai didi

ios - 通过导航 Controller 通过 segue 传递数据 - Objective C

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:21 25 4
gpt4 key购买 nike

真的希望有人能提供帮助,因为我觉得我已经尝试了在 SC 上可以找到的所有选项。首先抱歉,如果代码很乱或者这是一个愚蠢的问题,开发不是我的强项:/

基本上我有一个在 Storyboard中创建的特定于 iPad 的应用程序,我有许多 View Controller 和场景,并嵌入了一个导航 Controller 。该应用程序非常线性,它只是按顺序在每个屏幕上移动(您根本不能在应用程序内跳来跳去)。

在第一个屏幕上,用户可以通过 2 个按钮进行 2 个选择,每个按钮显示一个图像,无论他们选择哪个图像,都需要在接下来的每个屏幕上显示。

当我没有嵌入导航 Controller 时,它可以通过调用以下命令正常工作:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"passSegue"] && (parentImage.hidden == NO) && (parentImage2.hidden == NO)) {
ViewControllerGirl2 * vc = [segue destinationViewController];
UIImage *imageView = [UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/1.png"]];
UIImage *imageView2 = [UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/2.png"]];
vc.parentImage = imageView;
vc.parentImage2 = imageView2;
}

但现在我已经嵌入到 UINavigationController 中,我的图像不再出现在下一个屏幕上。我已经尝试了建议的方法:

UINavigationController *navController = [segue destinationViewController];
ViewControllerGirl2 *vc = (ViewControllerGirl2 *)navController.topViewController;

但是我尝试实现这些建议的每一种方式都失败了。

任何帮助将不胜感激,因为我已经坚持了 2 天了。

最佳答案

作为一种快速解决方法(如果您将 UINavigationController 子类化),您可以向其添加 parentImage 属性,并在 prepare for segue 内部将图像值分配给导航 Controller 的这些属性。然后在目标 View Controller 的 viewWillAppear 中,您可以:

self.parentImage = yourNavController.yourImageProperty1;
self.parentImage2 = yourNavController.yourImageProperty1;

关于ios - 通过导航 Controller 通过 segue 传递数据 - Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36432210/

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