为啥自定义 UIRefreshControl 类的背景颜色在 Swift 中没有改变?
Posted
技术标签:
【中文标题】为啥自定义 UIRefreshControl 类的背景颜色在 Swift 中没有改变?【英文标题】:Why Custom UIRefreshControl Class's Background Color not changing in Swift?为什么自定义 UIRefreshControl 类的背景颜色在 Swift 中没有改变? 【发布时间】:2017-10-27 14:51:42 【问题描述】:我创建了自定义 UIRefreshControl 如下:
class CustRefreshCont: UIRefreshControl
override func draw(_ rect: CGRect)
// Drawing code
let blueColor: UIColor = UIColor.blue
let lightGrayColor: UIColor = UIColor.lightGray
self.tintColor = blueColor
self.backgroundColor = lightGrayColor
self.attributedTitle = NSAttributedString(string: "Updating data", attributes: [NSAttributedStringKey.foregroundColor : self.tintColor, NSAttributedStringKey.backgroundColor : self.backgroundColor!])
我从 UIViewController 分配 UIRefreshControl 的方式复制如下:
let refreshControl = CustRefreshCont()
正在显示文本和 ActivityIndicator 自定义项,但背景颜色显示为黑色。
你知道我的代码有什么问题吗?
【问题讨论】:
所以 tintColor 和 backgroundColor 没有正确显示对吗? tintColor 显示正确。只是视图的背景颜色。 【参考方案1】:将您的配置代码移至初始化程序。我不认为draw
方法是正确的方法。
override init()
super.init()
backgroundColor = .red
tintColor = .blue
【讨论】:
以上是关于为啥自定义 UIRefreshControl 类的背景颜色在 Swift 中没有改变?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Lottie 自定义 UIRefreshControl
Swift:WKWebView 中 UIRefreshControl 的自定义操作
如何自定义 UIRefreshControl 以使下拉高度低于默认值
如何使用不同的图像和位置自定义 UIRefreshControl?