我已经创建了一个UIActivityIndicatorView
扩展,用于将animating
它转到开始和停止位置。不过,我希望通过使用bool类型的computed property
使用get
和set
使其更好。我试过了,但想不出办法。我怎么能重构这个。
extension UIActivityIndicatorView {
func loadingIndicator(_ isLoading: Bool) {
if isLoading {
self.startAnimating()
} else {
self.stopAnimating()
}
}
}
最佳答案
您可以使用isAnimating
的UIActivityIndicatorView
属性作为isLoading
的备份值。您只需要确保在setter中正确控制动画的启动/停止,这将设置isAnimating
,因此,isLoading
也将正确设置。
extension UIActivityIndicatorView {
var isLoading:Bool {
get {
return isAnimating
} set {
if newValue {
self.startAnimating()
} else {
self.stopAnimating()
}
}
}
}
关于ios - 如何通过扩展中的函数创建UIActivityIndicator计算属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53266526/