【问题标题】:What do delegates catch with a parent and embedded view controller?委托通过父视图控制器和嵌入式视图控制器捕捉到什么?
【发布时间】:2015-08-06 10:44:13
【问题描述】:

我有一个视图控制器 (VC1),它有一个包含表视图/VC2 的容器视图。

如何从 VC1 中捕获诸如在表格视图 (VC2) 中滚动之类的内容?我可以使用委托吗?

我也在实现一个搜索功能。我是否必须从 VC1 更新嵌入式 VC2,是否也使用委托完成?

【问题讨论】:

  • 你几乎回答了你自己的问题。只是为了让您放心,是的,在您的 VC1 中使用 delegates
  • @iosDev82 谢谢。我在使用不同的 VC 时与代表一起工作,但是这次嵌入 VC 时我无法让它工作。我想我一定做错了什么,所以我会仔细看看它
  • 您需要在 VC1 的 prepareForSegue: 方法中连接 VC2 的委托

标签: ios objective-c iphone xcode swift


【解决方案1】:

现在我想知道如何在 VC2/表格视图中捕捉到滚动等内容 但来自 VC1?

您可以在同一个 VC(在您的情况下为 VC2)中捕获滚动,然后通过自定义协议和委托将该信息传递给 VC1。

一般原则:您应该像对待任何视图控制器一样对待嵌入式视图控制器。

例如,当您想将数据从嵌入式视图控制器传递到父视图控制器时,您可以通过委托进行中继。您将使用prepeForSegue 方法将父视图控制器设置为委托。

同样,当你想将数据从父视图控制器传递到嵌入式视图控制器时,你可以再次通过prepareForSegue 方法传递它。这次您将数据从父视图控制器设置为嵌入式视图控制器变量。

这些原则对于传递数据和将责任委派给其他视图控制器是正确的,并且应该以同样的方式对待嵌入式视图控制器。

【讨论】:

    猜你喜欢
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2021-03-12
    相关资源
    最近更新 更多