gpt4 book ai didi

iphone - 2个 Storyboard之间的过渡

转载 作者:可可西里 更新时间:2023-11-01 17:02:06 26 4
gpt4 key购买 nike

我的应用程序中有 2 个 Storyboard文件,我想在一个的 ViewController 和另一个的 ViewController 之间转换。我连接了一个 IBAction 以响应第一个 ViewController 上的按钮按下,它调用 AppDelegate 中的一个方法。我已验证此信号到达 AppDelegate 方法。

这是我在 AppDelegate 中的相关方法,但是没有发生转换。谁能告诉我为什么,或者拥有 2 个 Storyboard是不是一个愚蠢的想法?

-(void) presentSecondViewController {

UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController* mainViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"main_viewcontroller"];

UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"second_viewcontroller"];

[mainViewController presentViewController: secondViewController animated:YES completion: NULL];

最佳答案

您创建第一个 Storyboard的初始 View Controller 的第二个实例。该实例从未显示在屏幕上,因为它与已经显示的实例不同,因此可能不会显示您的第二个 View Controller 。您需要已经显示的 View Controller 的实例。最好的方法是将您的实现更改为

-(void) presentSecondViewControllerFromViewController:(UIViewController *)sourceController
{
UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"second_viewcontroller"];

[sourceController presentViewController: secondViewController animated:YES completion: NULL];
}

并通过传递包含该按钮的 View Controller 来调用它。

关于iphone - 2个 Storyboard之间的过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8310627/

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