Ios 显示后更新UIViewController帧

Ios 显示后更新UIViewController帧,ios,swift,Ios,Swift,我必须设计一个如上所述的情况,考虑: 1-蓝色viewController是父viewController 2-绿色是一个模式显示的viewController,每当用户单击按钮a时,它会更新其大小,向上移动一点显示按钮B(中间屏幕),当用户单击按钮B时,它会向上移动,显示按钮C(最后一个屏幕) 到目前为止我试过什么?我讨论了实现此功能的可能性,我想到(发现)的最好方法是使用UIPresentationController的自定义子类,使用该子类,我可以像第一个屏幕一样显示绿色的viewCont

我必须设计一个如上所述的情况,考虑: 1-蓝色viewController是父viewController 2-绿色是一个模式显示的viewController,每当用户单击按钮a时,它会更新其大小,向上移动一点显示按钮B(中间屏幕),当用户单击按钮B时,它会向上移动,显示按钮C(最后一个屏幕)

到目前为止我试过什么?我讨论了实现此功能的可能性,我想到(发现)的最好方法是使用
UIPresentationController
的自定义子类,使用该子类,我可以像第一个屏幕一样显示绿色的viewController。现在,当单击按钮A时,我一直在向上移动绿色viewController,当使用滑动动画单击按钮B时,再次向上移动它


非常感谢您的帮助。

以下是我最近做的类似项目:

  • 在视图控制器2:给它一个清晰的背景,和一个固定在底部的绿色视图,使它看起来像你的第一张图像
  • 当您转换到第二个视图控制器时,请确保使用选项.overCurrentContext以模态方式显示它。这将为它提供在蓝色视图控制器上向上滑动的动画
  • 当您创建绿色视图并将其约束在情节提要中时,您可以为其指定顶部锚定或高度锚定。两者都可以。从该约束中拖动一个出口,以便可以通过代码访问它
  • 当用户按下按钮时,只需访问该约束并更改其常量

  • 有几个问题。(1) 当您呈现绿色视图时,蓝色视图是否有任何作用?我说的是需要用户点击一些东西,让你的应用程序在显示绿色视图时做出反应。(2) 故事板中有多少是这样的?我可以向您展示纯代码,它将(a)在绿色视图中滑出/向上滑出,(b)在单击按钮后将其滑出更远,以及(c)使用
    UIView。为幻灯片效果设置动画。但它不显示VC(甚至不需要使用第二个VC),而是滑动视图。@dfd 1-否,蓝色视图将变暗。2-除了呈现绿色视图和次要配置外,几乎所有内容都在故事板中。我非常想查看您的解决方案代码版本。提前谢谢。