Pet*_*Pik 32 objective-c ios swift
我正在尝试将我的活动指示器更改为黑色等自定义颜色.然而,它似乎根本不适用,并且仍然具有标准的白色.
我所做的是创建一个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
Run Code Online (Sandbox Code Playgroud)
Cat*_* T. 70
设置活动指示器样式后,需要设置颜色.似乎设置activityIndicatorViewStyle重置为的颜色activityIndicator
所以这样做:
// ....
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.whiteLarge
activityIndicator.color = .black
footerView.addSubview(activityIndicator)
activityIndicator.startAnimating()
self.tableView.tableFooterView = footerView
Run Code Online (Sandbox Code Playgroud)
这应该工作得很好.
Nik*_*jic 13
文件说明
如果为活动指示器设置颜色,它将覆盖 activityIndicatorViewStyle属性提供的颜色.
所以你必须先设置activityIndicatorViewStyle然后设置颜色.
正确:
actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
actInd.color = UIColor.blackColor()
Run Code Online (Sandbox Code Playgroud)
错误:
actInd.color = UIColor.blackColor()
actInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
Run Code Online (Sandbox Code Playgroud)
这是 Swift 4 的一个扩展,它可以轻松地为指示器着色。
import UIKit
extension UIActivityIndicatorView {
func assignColor(_ color: UIColor) {
activityIndicatorViewStyle = .whiteLarge
self.color = color
}
}
Run Code Online (Sandbox Code Playgroud)
你这样称呼它:
activityIndicator.assignColor(.black)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27439 次 |
| 最近记录: |