gpt4 book ai didi

ios - 将 UINavigationView 的大小限制为其当前呈现的 Controller 的大小?

转载 作者:行者123 更新时间:2023-11-30 12:06:58 27 4
gpt4 key购买 nike

我在弄清楚 UINavigationController 的实际结构时遇到了一些麻烦。我想限制它,使其 View 与顶部 Controller View 的首选大小相匹配。

类似于:

navController.view.heightAnchor.constraint(equalTo: navController.topViewController?.view.heightAnchor).isActive = true

给我错误:

*** Terminating app due to uncaught exception 'NSGenericException',
reason: 'Unable to activate constraint with anchors
<NSLayoutYAxisAnchor:0x600000472e00 "UILayoutContainerView:0x7f9f01d14310.top">
and <NSLayoutYAxisAnchor:0x608000270ac0 "UIView:0x7f9f01d182b0.top">
because they have no common ancestor. Does the constraint or its anchors
reference items in different view hierarchies? That's illegal.'

显然,顶层 Controller 的 View 处于不同的层次结构中。这怎么可能?如何实现创建非全屏 UINavigationController 的目标?请不要建议像将子 Controller 的下半部分留空之类的黑客行为。

最佳答案

How can I achieve my goal of creating a non-full screen UINavigationController?

两种简单的方法:

  • 将导航 Controller 呈现为呈现的 View Controller 并自定义呈现。 (顺便说一下,弹出窗口就是一个例子:导航 Controller 确实将自身调整为其子级的首选大小。)

  • 创建一个父 View Controller ,并将导航 Controller 作为其 subview Controller 。

在这两种方法中,导航 Controller 的 View 大小完全取决于您。

关于ios - 将 UINavigationView 的大小限制为其当前呈现的 Controller 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46572926/

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