【问题标题】:UIRefreshControl in wrong position when used in TabBarController item在 TabBarController 项中使用时 UIRefreshControl 位置错误
【发布时间】:2018-12-27 09:04:59
【问题描述】:

我正在开发一个 iOS 应用程序,它有一个带有 7 个视图控制器的“主”TabBarController。 每个视图控制器都是以 TableViewController 为根的 NavigationViewController。

每个 TableViewController 都有一个使用情节提要设置的 UIRefreshControl。

override func viewDidLoad() {
    super.viewDidLoad()

    self.title = "12345678".localized

    self.navigationController?.navigationBar.tintColor = Customizer.getColor1()
    self.navigationController?.navigationBar.prefersLargeTitles = true
    self.refreshControl?.tintColor = Customizer.getColor1()

    self.refreshControl?.beginRefreshing()
    self.doRefresh(0)
}

@IBAction func doRefresh(_ sender: Any) {
    let d : AppDelegate = self.appDelegate

    DispatchQueue.global(qos: .background).async {

        BeautifulAPI().getBeautifulData(delegate: d) { (result: Result<[EBListItem]>) in
            switch result{
            case .success(let data):
                self.items = data

                self.done_loading()
                break
            case .failure(let statusCode, let error):
                print("Error \(statusCode) : \(String(describing: error))")

                break
            }
        }
    }
}

当控制器在标签栏中时,它的行为是正确的:当我打开页面时,我在表格视图的标题中看到加载微调器。

当我需要通过标签栏控制器中的“更多”页面时,刷新微调器恰好位于标题和表格行之间。当它停止旋转并触发刷新时,它会位于正确的位置,但标题行和表格行之间仍有空白。

【问题讨论】:

    标签: ios swift uikit tableview uirefreshcontrol


    【解决方案1】:

    我回答我自己的问题。

    Apple 代码级支持已发现这是一个错误。

    【讨论】:

      猜你喜欢
      • 2014-02-15
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多