Ios 我应该将底部图纸作为子视图添加到当前视图控制器,还是在添加子视图的情况下推送UIWindow?

Ios 我应该将底部图纸作为子视图添加到当前视图控制器,还是在添加子视图的情况下推送UIWindow?,ios,swift,uipangesturerecognizer,uiwindow,Ios,Swift,Uipangesturerecognizer,Uiwindow,我想实现一个底部表根据图像。 底部将有一个上下拉动的平移手势 我感到困惑的是: 我是否应该向现有视图控制器添加视图,并向该视图添加平移手势以上下拉动。 应创建一个新窗口,并将底部板材添加为子视图,然后推送该窗口。 如果选择第二个选项,我将如何更新pan上的窗口 您不应该创建新的ui窗口。通常,iOS应用程序只有一个窗口。我看到的两个最佳选择是: 您可以添加子视图和手势识别器来实现拉动。这意味着所有逻辑可能都在父级UIViewController中。如果没有太多的逻辑,并且工作表不必是可重用的

我想实现一个底部表根据图像。 底部将有一个上下拉动的平移手势

我感到困惑的是:

  • 我是否应该向现有视图控制器添加视图,并向该视图添加平移手势以上下拉动。
  • 应创建一个新窗口,并将底部板材添加为子视图,然后推送该窗口。
如果选择第二个选项,我将如何更新pan上的窗口


您不应该创建新的
ui窗口。通常,iOS应用程序只有一个窗口。我看到的两个最佳选择是:

  • 您可以添加子视图和手势识别器来实现拉动。这意味着所有逻辑可能都在父级
    UIViewController
    中。如果没有太多的逻辑,并且工作表不必是可重用的,那么这是一个很好的选择

  • 如果工作表中有更多的逻辑,或者工作表具有可重用的功能,那么最好为此创建一个单独的
    UIViewController
    。然后,您可以使用自定义动画和演示控制器来演示此功能。查看
    UIViewControllerInitiatedTransitioning
    UIPresentationController

  • 我以前使用过第二个选项。
    ui显示控制器
    负责将图纸视图定位在屏幕底部。它还使背景变暗,并附加手势识别器来处理拉拽和拒绝


    您可以使用本教程开始使用
    UIPresentationController
    。您也可以从那里获取代码并根据需要进行调整:

    您可以通过此了解您的想法-感谢链接,它非常有用,但它使用两个控制器来创建底部工作表。我正在寻找的是,我们可以通过添加一个窗口来实现吗?请看一看-我认为这更像是一个架构师的问题。我不想使用任何外部库来实现这一点。谢谢你的回答!