0

我的大标题在滚动时会正常缩小,就像它应该的那样。但是,即使我滚动到顶部,它也不会再次变大。当我第一次构建项目并打开应用程序时,大标题和搜索栏正常显示,但一旦缩小。在我完成应用程序之前它不会回来。它也发生在我的设备上。

我正在使用tableViewwith ViewController, withsearchBarnavigation title. 我tableview header的导航栏下也有。

我的大标题的工作方式:

预览 1

它应该工作的方式:

预览 1

searchController在导航栏中添加了一个,但我认为这不是searchController问题,因为即使我从项目中删除搜索栏也会发生同样的问题。此外,我在 GIF 的这两个不同项目中使用相同的代码制作大标题,但一个有效,一个无效。为什么?

我把这个放在viewDidLoad().

navigationController?.navigationBar.prefersLargeTitles = true

我也试过:

navigationItem.largeTitleDisplayMode = .always

但是,它没有用。

我也试过把:

navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .always

那两个在,viewWillAppear()但效果不佳。

-编辑-

tableView也是视图层次结构中的第一个。如果层次结构有问题,请告诉我。

我的文档大纲的图像:

预览 3

4

3 回答 3

0

可能的问题是您的 tableview 内容高度几乎与屏幕高度相同,因此它无法滚动并动画回大标题。为此,您可以尝试始终在您的 tableview 上弹跳功能。在 viewDidLoad 你可以调用

tableView.alwaysBounceVertical = true

如果 tableview 是 viewcontroller 子视图层次结构的第一个视图,这可能会解决您的问题。

于 2021-04-27T13:38:00.507 回答
0

我查了一下什么tableview.alwaysBounceVertical是什么,里面bounce是什么tableview,我发现bounceOnScroll属性设置为false,这就是这个问题发生的原因(我猜)。在我在情节提要中large title检查真实后,当我滚动到顶部时,它再次变大。bounce on scroll

此外,我的large title工作正常,无需将bounce vertically属性设置为 true。我通过将它设置为 false 来尝试使用故事板和代码。所以问题出在 only bounceOnScroll,我猜。

在代码中,可以放

tableview.bounces = true

viewController

于 2021-04-28T09:30:03.160 回答
0

如果您希望滚动导航栏正常工作,除了您设置的标志和 tableView 位置作为视图层次结构中的第一个位置,您需要确保 tableView 顶部和底部约束绑定到 superview 。默认情况下,它与不正确的安全区域对齐。

于 2021-06-30T13:12:09.140 回答