gpt4 book ai didi

ios - 使用 NSLayoutContraints 添加第二个 subview Controller ,始终将其放置在导航栏下方,而不是导航栏之后

转载 作者:行者123 更新时间:2023-11-29 00:27:56 24 4
gpt4 key购买 nike

我正面临一个奇怪的 UI 问题。请在下面找到详细信息。

  • 我创建了一个示例演示项目来展示这个问题。要求非常简单(也附有屏幕截图)。该应用程序以一个 ViewController 开始,它是一个 UINavigationController,因此它显示一个 NavigationBar。
  • 已将 2 个元素的 UISegmentController 添加到 UINavigationBar。
  • 有 2 个子 TableViewController 将针对每个段选择显示。
  • 每个 ViewController 都是使用 NSLayoutConstraints 添加的。并且每次都会删除较旧的子 VC,并添加新的而不是隐藏和显示。虽然我们不是每次都创建 VC 对象。具有很强的借鉴意义
  • 子 VC 被添加到 RootVC 的 View 中,而不是有一个 ContainerView。也尝试了 ContainerView,但结果相同。

现在的问题是,第二个子 VC 总是放在导航栏下面(请引用所附的屏幕截图)。但第一个非常好,因为它位于 NavigationBar 下方。如果我将 NavigationBar 半透明属性设置为“NO”,两者都可以正常工作。但是当 NavigationBar 半透明属性为“YES”时,只有第一个会被正确放置而不是第二个。哪个 ChildViewController(firstVC 或 secondVC)并不重要,它发生在第一个之后添加的 childVC。对这个奇怪的问题有什么见解吗?我创建了一个示例演示 project如果你们想检查那里发生了什么..

提前致谢..

First VC Second VC

最佳答案

您是否禁用了选项:Auto adjust scrolls inset?它有问题,仅适用于您 View Controller 的第一个 ScrollView

关于ios - 使用 NSLayoutContraints 添加第二个 subview Controller ,始终将其放置在导航栏下方,而不是导航栏之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42574303/

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