【问题标题】:UIRefreshControl renders behind UINavigation w/ Large TitlesUIRefreshControl 在带有大标题的 UINavigation 后面呈现
【发布时间】:2020-05-14 14:41:39
【问题描述】:

我正在尝试使用大标题创建UITableViewControllerUINavigationBar

我遇到的问题是,在空表视图上使用 pull 刷新时,加载指示器位于大标题的文本后面。

如果我第二次拉刷新就没有这个问题了。

我附上了一个显示行为的 gif。

此时我的视图控制器非常简单

final class FeedSceneViewController: UITableViewController {

  private var loader: FeedLoader?

  convenience init(loader: FeedLoader) {
    self.init()
    self.loader = loader
  }

  override func viewDidLoad() {
    super.viewDidLoad()

    tableView.refreshControl = .init()
    load()

    configureTableView()
    configureUI()
  }

  func load() {
    tableView.refreshControl?.set(isRefreshing: true)
    loader?.load(then: { [weak self] _ in self?.refreshControl?.set(isRefreshing: false) })
  }

}

private extension FeedSceneViewController {

  func configureTableView() {
    tableView.backgroundColor = .usingHex("fafafa")
    tableView.tableFooterView = .init()
  }

  func configureUI() {
    navigationController?.navigationBar.prefersLargeTitles = true
    navigationItem.title = "Latest content"
  }
}

【问题讨论】:

    标签: swift uitableview uinavigationcontroller uirefreshcontrol


    【解决方案1】:

    您似乎是在配置大导航后设置刷新控件。

    尝试将顺序更改为这样的 -

      override func viewDidLoad() {
        super.viewDidLoad()
    
        load()
    
        configureTableView()
        configureUI()
      }
    .......
      func configureTableView() {
        tableView.backgroundColor = .usingHex("fafafa")
        tableView.tableFooterView = .init()
        tableView.contentInsetAdjustmentBehavior = .always
        tableView.refreshControl = .init()
      }
    
      func configureUI() {
        navigationController?.navigationBar.prefersLargeTitles = true
        navigationItem.title = "Latest content"
      }
    

    【讨论】:

      【解决方案2】:

      也许你可以在你的 viewDidLoad() 中试试这个

      self.edgesForExtendedLayout = []
      

      它使您的表格视图不会与您的导航栏冲突

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-12
        • 2012-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多