gpt4 book ai didi

ios - 使用带有半透明导航栏的 UISearchDisplayController 时变暗区域错位

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:58 24 4
gpt4 key购买 nike

当我将 navigationBar 切换为半透明时,我的 UISearchDisplayController 变得疯狂。

灰色区域错位了 64px,结果表中的第一行也是如此。我知道如何修复 resultTableView 错位,但我找不到修复暗淡区域框架的方法。

奇怪的是,当半透明设置为 YES 时,我发现我的主视图位于 origin.y = 64.0f。它发生在 viewDidLoad 和 viewDidAppear 之间的某个地方。如果我更改它,它会起作用,但导航 Controller 中 View 之间的转换会被破坏。

enter image description here

=============

问题解决方式:extendedLayoutIncludesOpaqueBars

最佳答案

检查搜索栏的 AutoLayout/AutoResizingMask 设置。

还要确保您没有手动修改条形图的框架,因为系统会尝试将条形图动画化到其在变暗 View 和结果 TableView 中的位置。


当您将 translucent 属性和 automaticallyAdjustsScrollViewInsets 设置为 YES(默认)时:a) View 在导航栏下拉伸(stretch) b ) 顶层 contentInset 被添加到底层 UIScrollView ( TableView 是一个子类)。

我的猜测是,出于某种原因,您的案例中只有 b) 发生了。您可以尝试通过以下任一方法解决它:

  • 清除automaticallyAdjustsScrollViewInsets
  • 从 ScrollView 中删除自动添加的 contentInset
  • 通过设置 extendedLayoutIncludesOpaqueBars 将您的 Controller 设置为执行 a) 即使是不透明条。

关于ios - 使用带有半透明导航栏的 UISearchDisplayController 时变暗区域错位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23080208/

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