【问题标题】: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 实例!

标签: ios swift uiscrollview uinavigationbar uirefreshcontrol


【解决方案1】:

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

我找到的解决方案:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多