gpt4 book ai didi

ios - UINavigationController 代码推送到 UIViewController 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 04:15:15 24 4
gpt4 key购买 nike

当我通过另一个具有相同 UINavigationController 的 UIViewController 的代码推送到 UIViewController 时遇到问题。

注释和假设:

  1. 我使用 IB 创建了所有 UIViewController,但想使用代码在它们之间推送。
  2. 两个 UIViewController 都包含 UITableView:第一个用于选择搜索条件,第二个用于显示结果。
  3. “LT”代表我的类(class)名称中的 League Table。

我的 UINavigation Controller 中有三个类:

  1. LTMasterNavController - UINavigationController 类型 - 拥有所有后续 View Controller 的属性和结果。一旦 LTOverviewViewController 生成结果,LTResultsViewController 就会从这里检索结果。
  2. LTOverviewViewController - 包含 UITableView 的 UIViewController 类型。用于选择要在 LTResultsViewController 中显示的过滤器。
  3. LTResultsViewController - 类型为 UIViewController,包含 UITableView。用于显示来自 LTOverviewViewController 的结果

请在下面的 Dropbox 链接中找到我的代码: https://www.dropbox.com/sh/9m37y4f1gws99lf/VGNloaLSVO

当在 LTOverviewViewController 中按下“显示联赛表”按钮时,我希望程序从过滤器中获取结果,然后立即推送到 LTResultsViewController。

使用此代码,它会推送到 LTResultsViewController,但 View 似乎不包含任何内容。它是黑色的,没有 UITable View 并且您无法选择任何内容。

在测试/调试中,我在 LTOverviewViewController 中创建了另一个名为“Push to Results”的按钮,并将其作为 IB 中的推送操作连接到 LTResultsViewController。当按下“显示联赛表”按钮,然后按下“推送到结果”按钮时,它工作得非常好,但是我希望用户无需按下第二个按钮就可以实现它。已经被困在这个问题上好几天了,所以任何帮助将不胜感激!

非常感谢,詹姆斯

最佳答案

有了 Storyboard和转场,这相当简单。在 Storyboard 中,单击要在其之间传输数据的 UIViewController 之间的连接,我猜是在 LTOverviewViewController 和 LTResultsViewController 之间,并为 segue 指定一个标识符名称:比如 ResultsSegue。

现在,在 LTOverViewController 中,您需要实现此方法:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

在此方法中,您将识别segue名称和destinationViewController,并传递您希望新 View Controller 具有的数据。这是一个例子:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ResultsSegue"])
{
LTResultsViewController *viewController = [segue destinationViewController];
[viewController setData:self.data];
}
}

当 Storyboard想要使用这个特定的segue时,这个方法将在移动到新的viewController之前被调用并执行。

关于ios - UINavigationController 代码推送到 UIViewController 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13803652/

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