gpt4 book ai didi

ios - 在 Storyboard 中的 ViewController 之间切换

转载 作者:行者123 更新时间:2023-11-29 02:42:49 26 4
gpt4 key购买 nike

作为过去经常使用单独的 xib 的人,我想我应该试一试 Storyboard,因为它似乎更易于使用并且更容易开发。我一直在编写一个应用程序,其中的基本设置是这样的:

在这一切的顶部是一个 UINavigationController(第一层)。然后我有多个 UIViewControllers(二级),其中包含按钮,您可以点击这些按钮在二级 UIViewControllers 之间切换。

但是,当我开始在第二级 UIViewController 之间切换时出现问题。我首先认为这是 NSMutableArrays 的初始化问题,因为在我的代码中我有一个 NSTimer 设置为定期循环并发现当我在它期间设置断点时,当我前进到下一个计时器滴答事件时,似乎有不同的实例相同的 NSMutableArrays,尝试将新值插入这些数组似乎是一场赌博,它有时有效,有时无效(因为它可能会或可能不会插入正确的实例)。

然后,查看 Debug Navigator 下的内存使用情况,我发现了问题所在。 每次我在 UIViewController 之间“切换”时,都会启动一个新的 UIViewController 以及所有新变量。

我用来在它们之间切换的代码是

-(void) perform {
[[[self sourceViewController] navigationController] pushViewController:[self destinationViewController] animated:NO];
}

或者本质上是一个推送转场。这也解释了为什么当我尝试切换回我的 View 时,该 View 上的数据丢失了,因为它是一个全新的 View 。

有谁知道如何在这些 UIViewController 中的多个(比如 5 个)之间切换,本质上就像 UITabViewController 一样,只是没有标签栏?

最佳答案

您可以执行此操作的第一个选项:您可以使用 tabbarcontroller 来切换 viewcontroller 并隐藏 tabbar。然后在按钮上单击设置标签栏索引。

第二个选项你可以这样做:再创建一个 View Controller ,在这个 View Controller subview 中,所有切换 View Controller ,当你想切换 View Controller 时,只需通过委托(delegate)将该 View Controller View 带到前面。

关于ios - 在 Storyboard 中的 ViewController 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543157/

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