【问题标题】:How to manipulate Navigation Controller?如何操作导航控制器?
【发布时间】:2014-01-26 01:09:42
【问题描述】:

我刚开始学习 xcode,想知道如何将 Navigation Controller 的流程反转?我有 1 个TableViewController 和 1 个ViewController,我希望ViewController 首先出现。请帮忙。

代替:

NavigationController >>> TableViewController >>> ViewController

我想要这样:

NavigationController >>> ViewController >>> TableViewController and back to ViewController

【问题讨论】:

  • 你可以让TableViewController 成为你的ViewController 的孩子,我想如果我能解决你的问题
  • 我会试试的,谢谢!无论如何,如何将数据从 ViewController 的 UITextField 传递到 TableViewController 的静态单元格?
  • 我想您可以通过让您的ViewController 读取该数据,然后将其传递给UITableViewController 并将其交给静态单元格来做到这一点。
  • 好吧,除了默认值之外,我必须再创建一个类,对吧?
  • 这可以通过使用委托模式来完成。定义一个委托并让你的静态单元实现它。

标签: objective-c xcode xcode4 xcode4.2 xcode4.3


【解决方案1】:

如果情节提要中的视图层次结构如下: a:UITableViewController(A) 嵌入了 UINavigationController。 b:现在 UIViewController(B) 来自 UITableViewController(A)。

  1. 您可以将 A 和 B 的顺序更改为从 B 嵌入 UINavigationController 而不是从 A 嵌入它,现在从 B 调用 A 即。取 UIViewController,然后在其中嵌入 UINavigationController,现在添加 UITableViewController 以从 UIViewConrtroller 推送。

【讨论】:

  • 其实程序运行的时候,必须先从UIViewController开始,顺序必须是:UINavigationController>>>UITableViewController>>>UIViewController
  • 为此,您可以将控制器从 UITableViewController 推送到 ViewDidLoad 或 ViewWillAppear 中的 UIViewController。
  • 哦,谢谢!我也会尝试的。我们的老师告诉我们要找到不同的方法,因为我们是学校的先驱。只是一个简单的问题,它与Unwind Segues 有什么不同?
  • 是的,我们以编程方式执行此操作,而不是使用情节提要的 segues。
【解决方案2】:

显示 UITableViewController 实例并跳过 UIViewController 实例:

[self.navigationController setViewControllers:@[myViewController, myTableViewController] animated:YES];

弹出到 UIViewController 实例并跳过 UITableViewController 实例:

[self.navigationController setViewControllers:@[myViewController] animated:YES];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    相关资源
    最近更新 更多