使用隐藏的导航栏刷新控件

Posted

技术标签:

【中文标题】使用隐藏的导航栏刷新控件【英文标题】:Refresh Control With Hidden Navigation Bar 【发布时间】:2019-09-18 16:45:52 【问题描述】:

首先让我说我已经在我正在处理的整个应用程序中实现了刷新控制,并了解在带有可见导航栏的导航控制器中使用它时它是如何工作的。具体来说,我这里的问题是导航栏隐藏时如何使用它。我有一个视图控制器,它是导航控制器的根视图控制器(不确定是否重要),在 viewWillAppear 挂钩中,我隐藏了导航栏。当用户下拉但您根本看不到指示器时,刷新控制功能正在工作。有什么好的办法可以解决这个问题?

以下是将刷新控件添加到滚动视图子类的代码:

self.refreshDelegate = delegate
self.refreshControl = UIRefreshControl()
self.refreshControl?.tintColor = .white
self.refreshControl?.addTarget(self, action: #selector(triggerRefresh), for: .valueChanged)

【问题讨论】:

您的问题是当导航隐藏时时间刷新控件消失或导航栏可见时时间刷新控件消失? 隐藏导航栏时,刷新控件也隐藏 你在哪里使用它与 scrollView 或 tableView 或哪里? 这是一个 UIScrollView 在我的示例项目中它的工作!不躲!!在哪里创建 RefreshhControll 实例! 【参考方案1】:

有同样的问题,看起来像一个 ios 错误。

我找到的解决方案:

    设置导航栏隐藏首先
self.navigationController?.setNavigationBarHidden(true, animated: false)
    之后为您的滚动设置刷新控制:
scrollView.refreshControl = yourRefresh

所以,顺序很重要。使用此解决方案,在隐藏导航栏时刷新控件可见。

【讨论】:

以上是关于使用隐藏的导航栏刷新控件的主要内容,如果未能解决你的问题,请参考以下文章

react native 怎么隐藏导航栏

在导航栏折叠时隐藏的导航栏中显示图像

iPhone:在导航栏下隐藏自定义视图

如何在 Reactjs Redux 应用程序中显示/隐藏 reactstrap 导航栏?

ios 导航栏怎么添加左右按钮

使用搜索栏和大标题导航栏拉刷新问题