gpt4 book ai didi

ios - UIRefreshControl 色调颜色与给定颜色不匹配

转载 作者:可可西里 更新时间:2023-11-01 03:18:29 26 4
gpt4 key购买 nike

刷新颜色与色调颜色不匹配,看起来不一样,我尝试更改 tintAdjustmentMode 但结果是一样的

请注意,微调器和文本颜色应为 0x2C76BE

tvc.refreshControl = [UIRefreshControl new];
tvc.refreshControl.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;
tvc.refreshControl.tintColor = [UIColor colorWithHex:0x2C76BE];
tvc.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to query spectrum again" attributes:@{NSForegroundColorAttributeName:[UIColor colorWithHex:0x2C76BE]}];

enter image description here

最佳答案

我遇到了类似的问题,UIRefreshControl 在加载 View 并调用 beginRefreshing() 时无法正确显示颜色。如果用户拉动刷新,控件会正确显示我指定的 tintColor。

首先,子类化刷新控件。然后,覆盖子类中的 didMoveToWindow 方法。以下代码查找动画元素以创建微调器并设置其背景颜色。

此代码使用 UIView 的扩展来返回所有 View 的 subview (我使用了 Jon Willis 在 Swift: Recursively cycle through all subviews to find a specific class and append to an array 中的回答)。

class CustomRefreshControl: UIRefreshControl {

override func didMoveToWindow() {
super.didMoveToWindow()
if let l = getNestedSubviews().first(where: { $0.layer is CAReplicatorLayer }), l.subviews.count > 0 {
l.subviews[0].backgroundColor = UIColor.orange //getNestedSubviews method is an extension of UIView as referenced above
}
}

微调器有一个 CAReplicatorLayer,其 View 包含一个 subview 。该 subview 只是一个矩形,用于实现微调器的图形元素。这是您正在着色的图形元素。

关于ios - UIRefreshControl 色调颜色与给定颜色不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com