gpt4 book ai didi

ios - 用户执行操作后切换到不同选项卡中的 View Controller

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

我正在处理的应用程序中有以下 Storyboard:

View of my storyboard

在根目录下,我有一个标签栏 Controller 。它链接到两个 View Controller 。

第一个显示带有用户上传图片的新闻源的 View Controller ( Storyboard底部的那个)。

第二个 View Controller 用于启动拍照并向其附加一些数据。在最后一步(右上角)中,当触摸导航栏右侧项目中的“保存”时,我希望用户被重定向到新闻源 View Controller 并向其传递一些数据。

我尝试使用 segue 并且它有效。数据被传递到新闻源,但选择了错误的选项卡。我使用

更改了选定的选项卡
[self.tabBarController setSelectedIndex:0];

但是再次点击第二个选项卡,事情就变得一团糟了。我可以看到新闻源而不是拍照屏幕。如果我再次点击,它就会崩溃。

在某些时候,我认为我可能得到了错误的 Storyboard ,应该在我的新闻源中实现一个 TabBar,并将拍照作为模态视图处理。

您知道实现此目标的任何简洁方法吗?

谢谢

最佳答案

您不应该使用普通的 segue,它会将目标 Controller 添加到堆栈中。做你正在尝试的最好的方法应该是使用 unwind segue。这是您需要执行的操作的粗略草图:

• 在 NewsfeedController 中声明一个 unwind segue Action ,例如 (IBAction)unwindFromPictureSaved:(UIStoryboardSegue *)segue;
• 将SavingPictureController 中的“Save”按钮连接到 Storyboard中的“Exit”图标,然后选择之前定义的方法;
• 在新创建的 unwind segue 中定义其标识符,如 SavedPictureSegue;
• 使用类似@property (strong, readonly, nonatomic) id passedData;
定义要在SavingPictureController header 中传递的数据• 在SavingPictureController 中实现

-(void)prepareForSegue:(UIStoryboardSegue *)segue
{
if ([segue.identifier isEqualToString:@"SavedPictureSegue"]) {
_passedData = // Your data here
}
}

• 在 NewsfeedController 中,现在实现先前定义的方法并从 (SavingPictureController *)segue.sourceController 获取数据。请务必 #import "SavingPictureController.h"

关于ios - 用户执行操作后切换到不同选项卡中的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26125007/

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