swift - UIRefreshControl 的tintColor 无法初始设置

标签 swift scrollview ios13 uirefreshcontrol tintcolor

我目前正在努力解决一个我无法处理的问题,并且无法找到任何答案或解决方法。

问题是我想将refreshControl的颜色更改为.white,例如,我在每个 View Controller 的viewDidLoad()中调用beginRefreshingManually()函数,但是初始颜色仍然是黑色。当尝试手动拉动刷新时,Refreshcontrol 变为 .white

这是我编写的一些代码:

extension UIScrollView {
    func setupRefreshControl(withTintColor tintColor: UIColor = JDColorConstants.UIScrollView.refreshControlWhiteColor.color,
                             completion: @escaping (() -> Void)) {
        let refreshControl = UIRefreshControl()
        refreshControl.tintColor = tintColor
        refreshControl.addAction(forEvent: .valueChanged, closure: {
            DispatchQueue.main.asyncAfter(deadline: .now() + JDDurationConstants.shortAnimationDuration) {
                completion()
            }
        })

        self.refreshControl = refreshControl
    }
}

extension UIRefreshControl {
    func beginRefreshingManually() {
        DispatchQueue.main.async { [weak self] in
            guard let scrollView = UIApplication.shared.topViewController()?.getScrollView() else { return }
            let constant = UIApplication.shared.getTopHeightOfSafeArea() +
                (UIApplication.shared.topViewController()?.navigationController?.navigationBar.bounds.height ?? 0) +
                (self?.frame.height ?? 0)
            scrollView.setContentOffset(CGPoint(x: 0, y: -constant), animated: true)
            self?.sendActions(for: .valueChanged)
            self?.beginRefreshing()
        }
    }
}

最佳答案

您是否尝试在 viewDidLoad 中手动调用 beginRefreshingManuall 方法?

override func viewDidLoad() {
        super.viewDidLoad()
        //it will react as if you were being renewed with your hand
        yourUIRefreshControl.beginRefreshingManually()
    }

关于swift - UIRefreshControl 的tintColor 无法初始设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59033460/

相关文章:

android - ImageView 很慢

swift - 如何在 UIPageViewController 中重复使用同一个 ViewController?

ios - Xcode 11 Beta 和 Carthage Bootstrap

swift - 无法在侧边菜单中填充表格 View 单元格

ios - 使用多个过滤器搜索 TableView

ios - SwiftUI 更新核心数据对象更改 View

iphone - 无法触摸 UIScrollView 上的 UITextField

iOS 13 用户默认值 : app crash on start on some devices

swift - 如何解决: 'keyWindow' was deprecated in iOS 13. 0

ios - TableView 自动维度 Tableview Inside Tableview