0

因此,标题是不言自明的,但是:

层次结构:

  • UINavigationController> UIViewController>UIScrollView

当我向下滚动一点然后点击状态栏向上滚动时,就会出现问题。

正常空间

不需要的空间

视频



Github 代码:https ://github.com/soujohnreis/statusbar-scrolltop-largetitle-problem

编辑:

我已经添加viewController.edgesForExtendedLayout = []如评论中所说,它解决了大标题下方的空白区域,但似乎在滚动视图 + 大标题中添加了一个新的奇怪行为......

在此更改之前,当我滚动到顶部并向下滚动时,它会使标题变大,然后将整个视图向下滚动以将其关闭,现在当我向下滚动时,标题不会变大,请参见下面的图像和视频:

视频



4

1 回答 1

0

我认为这是一个错误。您应该向 Apple 报告。

作为一种解决方法,您可以这样说:

    viewController.modalPresentationStyle = .pageSheet
    viewController.modalPresentationCapturesStatusBarAppearance = true
    viewController.edgesForExtendedLayout = []

    let navigationController = UINavigationController(rootViewController: viewController)
    navigationController.view.backgroundColor = .white

    self.navigationController?.present(navigationController, animated: true, completion: nil)

但这仍然只是一种解决方法。你不应该那样做。

或者,当然,您可以使用委托方法在该屏幕中关闭点击滚动功能。或者完全隐藏状态栏。

于 2022-01-13T02:20:48.887 回答