将活动指示器颜色更改为黑色

问题描述:

我试图将我的活动指示器更改为黑色等自定义颜色。但它似乎并不适用,并且仍然具有标准的白色。将活动指示器颜色更改为黑色

我所做的是创建一个UIView并添加一个活动指示器作为一个子视图,然后将其添加到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 
+0

实际上,你是正确的使用颜色属性一样。只需在添加颜色之前设置指示器样式。 – Akaino

您需要您设置活动的指标后,风格设置颜色。看来,设置activityIndicatorViewStyle重置为activityIndicator

的颜色,所以只是这样做:

// .... 

actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.whiteLarge 
actInd.color = UIColor.black 
footerView.addSubview(actInd) 
actInd.startAnimating() 
self.tableVIew.tableFooterView = footerView 

这应该只是罚款。

+0

谢谢Catalina!你救了我的一天;) –

+0

不客气:)快乐,我可以帮助 –

文档状态

如果设置一个颜色一个活动的指标,它覆盖由activityIndi​​catorViewStyle酒店所提供的颜色 。

所以你必须先设置activityIndicatorViewStyle然后设置颜色。

正确:

actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge 
actInd.color = UIColor.blackColor() 

错误:

actInd.color = UIColor.blackColor() 
actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge 
+0

谢谢,对我完美的工作! –

+0

谢谢你提供的答案 – vmeyer

你应该改变你的颜色,你设定的指标伴奏之后。其他一切对我来说都很好。

斯威夫特3版

在主类ViewController添加activityIndi​​cator:

class ViewController: UIViewController, WKNavigationDelegate { 

let activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge) 

然后在viewDidLoad()

override func viewDidLoad() { 
super.viewDidLoad() 

activityIndicator.color = UIColor.black 
activityIndicator.center = CGPoint(x: view.bounds.size.width/2, y: view.bounds.size.height/2) 
view.addSubview(activityIndicator) 
activityIndicator.startAnimating() 

要删除activityIndi​​cator:

activityIndicator.stopAnimating() 

这是Swift 4的一个扩展,它可以很容易地为指标着色。

import UIKit 

extension UIActivityIndicatorView { 
    func assignColor(_ color: UIColor) { 
     activityIndicatorViewStyle = .whiteLarge 
     self.color = color 
    } 
} 

你这样称呼它:

activityIndicator.assignColor(.black) 

下面是这个代码在行动,随机计时改变颜色: enter image description here