gpt4 book ai didi

ios - 我如何在 Swift 中呈现另一个内部的 View Controller ?

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:10 24 4
gpt4 key购买 nike

我正在制作一个可搜索列表应用程序。它将有一个“过滤器”按钮,单击该按钮将显示过滤选项列表

模态视图 Controller 应该从右到左,而不是覆盖整个屏幕(如下所示)。

我设法以编程方式显示 View Controller ,覆盖整个页面,但我无法找出如何为 View Controller 的打开设置动画(从右到左)以及如何留出一些空间请参阅其他 View Controller 。它必须在 Swift 中。我已经看到了一些关于此的问题,但我能找到的所有问题都使用了 Objective C 和已弃用的 API。

谢谢

例子:

eBay app

最佳答案

毫无疑问,有多种方法可以做到这一点。

一种方法是将“容器 View ”(它是 IB 中对象列表中的一种特殊 View 类型)添加到您当前的 View Controller 中,然后按住控制键将嵌入的 segue 从容器 View 拖到另一个 View Controller 场景中你想主持。将容器 View 放置在您希望它结束​​的位置并调整其大小,并添加一个前沿约束以将其定位在该位置。

当您使用容器 View 和嵌入 segue 时,系统会处理您需要做的所有内务处理,以便托 pipe View Controller 。

将导出连接到约束。

在您的 viewWillAppear 方法中,将 screen width - container x 添加到约束的常量中,并在内容 View 上调用 layoutIfNeeded() 以将其移出屏幕而没有动画。将添加到水平约束的量保存在实例变量中。

然后,当您想要将其动画化到屏幕上时,更改约束上的常量值(减去您在 viewWillAppear 中添加的量)并在 UIView animateWithDuration:animations 中调用 layoutIfNeeded() : block 。

关于ios - 我如何在 Swift 中呈现另一个内部的 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30904175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com