首页 > 解决方案 > UITableView 标题在某些 iPhone 上会吸附到屏幕顶部

问题描述

有时(但不是所有时间!)在 iPhone(和 iPhone 模拟器)上,我注意到我的 UITableView 标题有这种“捕捉”行为,当我尝试从屏幕顶部向下拖动时,它会重新捕捉而不是流畅地向后移动up 就像一个 tableView 通常表现得那样。

我想知道是否有人知道这个错误,是什么原因造成的,或者我该如何修复它?我觉得它可能与 UITableViewHeader 有关,但我不确定。

不幸的是,我不能分享代码,但我不相信它是代码中的东西。我手动注释了几乎每一行代码,问题仍然存在!

在此处输入图像描述

标签: iosswiftuitableview

解决方案


这对我来说是个问题,我很确定它是 XCode/Swift 中的一个错误。

起初我在故事板中的导航控制器有这个设置: 在此处输入图像描述

在我的代码中,我声明了以下方法:

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
    let hideBar = (viewController == self)
    navigationController.setNavigationBarHidden(hideBar, animated: animated)
}

用于禁用主屏幕上的导航栏。这两者的组合(如果在主屏幕上声明了该方法)会导致如上所示的错误。我可以在一个新项目中重复这个错误。

此错误的解决方案是检查导航控制器上的显示导航栏框


推荐阅读