gpt4 book ai didi

xcode - 我想从 View Controller 转到 UITabBarController 中的特定选项卡

转载 作者:行者123 更新时间:2023-12-02 20:53:53 25 4
gpt4 key购买 nike

首先,我要说的是,我是一个绝对的初学者,所以如果这是一个愚蠢的问题,请原谅我。让我补充一下,我花了几个小时/几天的时间试图弄清楚如何解决这个问题 - 包括在 stackoverflow 上进行广泛的搜索(也许答案就在某个地方,但我现在不知道要搜索什么:).. .

但是,让我们继续:我的 Xcode Storyboard项目有一个小(?)问题。基本上我的项目是这样的:

导航 Controller -> View Controller 0 -> 选项卡栏 Controller -< View Controller 1、 View Controller 2、 View Controller 3。

当用户按下 View Controller 0 中的“按钮 #2”时,我希望他/她直接跳转到“ View Controller 2”。

这是否可能,如果可以,应该使用什么代码以及确切地应该把它放在哪里。

希望有人能帮助新手:)

问候,乌尔里克

最佳答案

是的,这是可能的。您可以显示任何其他 View Controller 。您只需添加从 button #2View Controller 2 的 Segue。 (我假设您将所有 Controller 都放在单个 Storyboard中)

更新:上述解决方案将向您展示没有标签栏 Controller 的View Controller 2本身。

如果没有看到实际的代码,很难详细说明。欲了解更多详情,您可以引用以下文档:

您可能会提出更具体的问题。

更新如果您想在选项卡栏 Controller 内预先选择所需的 View Controller ,您可以使用以下代码草图。在这里,您可以以编程方式启动 Segue 并在 prepareForSegue:sender: 方法中执行所需的预初始化。

static NSString * const kShowTabSegueID = @"ShowTab";

@interface ViewController ()

- (IBAction)buttonOnePressed;
- (IBAction)buttonTwoPressed;
- (IBAction)buttonThreePressed;

@end

@implementation ViewController

- (IBAction)buttonOnePressed
{
[self performSegueWithIdentifier:kShowTabSegueID
sender:@0];
}

- (IBAction)buttonTwoPressed
{
[self performSegueWithIdentifier:kShowTabSegueID
sender:@1];
}

- (IBAction)buttonThreePressed
{
[self performSegueWithIdentifier:kShowTabSegueID
sender:@2];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue
sender:(id)sender
{
if ([segue.identifier isEqual:kShowTabSegueID]) {
NSNumber *indexToShow = sender;
UITabBarController *tabBar = segue.destinationViewController;
[tabBar setSelectedIndex:indexToShow.unsignedIntegerValue];
}
}

@end

关于xcode - 我想从 View Controller 转到 UITabBarController 中的特定选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22618013/

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