我正在尝试将我的活动指示器更改为像黑色这样的自定义颜色。然而,它似乎根本不适用,并有标准的白色仍然。
我所做的就是创建一个UIView,并将一个活动指示符作为subView添加到tableFooterView中。
如何更改活动指示器的颜色?
ViewDidLoad:
let footerView = UIView(frame: CGRectMake(0, 0, self.view.frame.size.width, 40))
footerView.backgroundColor = UIColor(rgba: "#f6f7f9")
var actInd: UIActivityIndicatorView = UIActivityIndicatorView()
actInd.color = UIColor.blackColor()
actInd.frame = CGRectMake(self.view.frame.size.width/2-10, 0.0, 20.0, 20.0);
actInd.activityIndicatorViewStyle =
UIActivityIndicatorViewStyle.WhiteLarge
footerView.addSubview(actInd)
actInd.startAnimating()
self.tableVIew.tableFooterView = footerView发布于 2015-04-17 11:56:34
设置活动指示器样式后,需要设置颜色。似乎设置activityIndicatorViewStyle会重置activityIndicator的颜色。
所以就这么做:
// ....
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.whiteLarge
activityIndicator.color = .black
footerView.addSubview(activityIndicator)
activityIndicator.startAnimating()
self.tableView.tableFooterView = footerView这个应该能正常工作。
发布于 2015-04-17 11:56:34
文件说明
如果为活动指示符设置颜色,则将重写activityIndicatorViewStyle属性提供的颜色。
因此,您必须先设置activityIndicatorViewStyle,然后设置颜色。
正确:
actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
actInd.color = UIColor.blackColor()错:
actInd.color = UIColor.blackColor()
actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge发布于 2018-01-01 02:03:41
这是Swift 4的一个扩展,它可以使指示器更容易着色。
import UIKit
extension UIActivityIndicatorView {
func assignColor(_ color: UIColor) {
activityIndicatorViewStyle = .whiteLarge
self.color = color
}
}你这样叫它:
activityIndicator.assignColor(.black)下面是正在执行的代码,带有一个随机计时器来更改颜色:

https://stackoverflow.com/questions/29698272
复制相似问题