调整UIViewController的大小,而不是将其从导航堆栈中删除

时间:2019-04-25 12:10:07

标签: ios objective-c uiviewcontroller

用户从 VC-A-> VC-B 导航。然后,当用户希望返回 VC-A时,VC-B 应该调整大小并保持在顶部。我尝试调整 VC-B 的大小,但没有出现 VC-A

3 个答案:

答案 0 :(得分:1)

如果ViewController A和B都是UINavigationController的子代,则应考虑将它们从此结构中拉出,因为UINavigationController将按照其自己的规则进行播放;可以在看不见A时将其卸载(例如,当B出现在顶部时),然后从B导航回A会从导航堆栈中弹出B。

答案 1 :(得分:1)

如果您正在查看 VC-A ,则要显示 VC-B ,然后要“调整大小” VC-B ,因此它仅部分覆盖 VC-A ...

您不能在导航控制器中执行此操作。

您要做的是将 VC-B 添加为子项UIViewController,并将其视图添加为 VC-A 的子视图视图(将其完全覆盖)。

然后,您将调整 VC-B 的视图大小/位置,而不是回到 VC-A 部分涵盖了 VC-A 的视图。

答案 2 :(得分:1)

UIViewController是不可能的 尝试重新创建 VC-B 作为 VC-A 的子视图,并在 VC-A 中设置子视图的高度和宽度约束。 strong>,以便您可以通过 VC-A

控制子视图的位置和可见性