我有一个包含分段控件的ViewController。此viewController包含一个视图(Container视图),它代表另外两个viewControllers(viewController A和viewController B),具体取决于段控件项。我希望能够从viewController A或B中检测滑动并根据滑动从一个移动到另一个。
如何实现这一目标?我以为我可以使用代表这样做,但我不知道或不了解如何。
有人可以通过让我知道如何做到这一点来帮助我吗?
答案 0 :(得分:1)
是的,您可以通过使父视图控制器成为2个子视图控制器的委托,并设置一个允许您通知父级视图控制器之间转换的协议来实现。
但是,为什么不保持简单并将滑动(或平移)手势识别器附加到父视图中的容器视图呢?这样,来自手势识别器的调用就会直接传递给父视图控制器,而不必通过委托链接。除非您在子视图控制器中需要平移或滑动手势支持,否则该方法应该起作用并且更容易实现。
我在Github上有一个名为Test(可怕的名字)的应用程序,它说明了使用委托在父视图和子视图控制器之间进行通信。 (该应用程序是用Objective-C编写的。)在我的演示应用程序中,子视图控制器没有被替换,但仍然说明了设置一个委托以从子进程与父进行通信。事实上,在那个应用程序中,从孩子到父母,从父母到孩子都有双向沟通。